精华内容
下载资源
问答
  • 在网上看到的很多实现的wifidog 协议一般都是PHP 的,了解一下PHP 但是比较喜欢...2. 路由(支持wifidog协议的 ddwrt ) 3. 环境的配置  主要是进行路由的配置  截图如下:        注意红圈的部分这...

    在网上看到的很多实现的wifidog 协议一般都是PHP 的,了解一下PHP 但是比较喜欢.net ,所以实现了简单的一个进行登录认证的功能

    (好多协议中的功能目前没有实现)

     

    1. 开发环境(vs2010 )

    2. 路由(支持wifidog协议的 ddwrt )

    3. 环境的配置

      主要是进行路由的配置

     截图如下:

        

     

        

        注意红圈的部分这个我按照php 的配置 

      asp.net MVC 的配置如下:

     

       端口 9999  authserver path  /login/

      4. MVC 项目布局:

     

        

    loginController.cs 代码如下:

     

    public class loginController : Controller
    {
    //
    // GET: /login/

    public ActionResult login()
    {
    string demo = Request.QueryString.ToString();
    ViewData["demo"]=demo;
    ViewData["gw_address"] = Request.QueryString["gw_address"];
    ViewData["gw_port"] = Request.QueryString["gw_port"];
    ViewData["gw_id"] = Request.QueryString["gw_id"];
    //ViewData["url"]=Request.QueryString["url"];
    string url = Request.QueryString["url"];
    // string url = "www.cnblogs.com";

    ViewData["url"] = url;
    Response.Write("Auth:1");
    return View();
    }

    public ActionResult index()
    {
    return View();
    }

    public ActionResult auth()
    {
    // result data = new result();

    Response.Write("Auth:1");
    return View();


    }
    public ActionResult MyLogin()
    {

    return View();
    }
    }

    代码写的比较乱,但是还是比较简单的。

    login  view 的代码如下:

    <%
    Label1.Text = ViewData["demo"].ToString() + "<br/>" ;

    if (ViewData["url"] == null)
    {

    }
    else
    {
    string a = ViewData["gw_address"].ToString();
    string p = ViewData["gw_port"].ToString();
    string token = Guid.NewGuid().ToString();
    string url=ViewData["url"].ToString();
    string demo = "http://" + a + ":" + p + "/wifidog/auth?token=" + token + "url=" + url;

    ViewData["authurl"] = demo;
    Application["authurl"] = demo;
    }

    %>

    dalong demo app
    </h2>
    <p>


    <h1>
    登陆页面
    </h1>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </p>

    [ <%: Html.ActionLink("进入", "MyLogin", "login")%> ]

    Mylogin view 的代码如下:

     

    <%

    string tepdemo = "Auth: 1";
    byte[] data = System.Text.Encoding.Default.GetBytes(tepdemo);
    char[] list = System.Text.Encoding.Default.GetChars(data);
    Response.Write(list, 0, list.Length);
    Response.Redirect(Application["authurl"].ToString());
    %>

     

    5. 手机端的测试效果:

     

      

    window phone 连接wifi 的显示界面

      点击进入如下效果:

      

    连接成功标志:

    打开网页:

     

    其中对于认证最重要的是按照协议返回的数据:

    比如我通过返回的数据:

    Auth: 1

    拒绝为: Auth: 0

    以上只是简单的测试,实际应用需要很多的东西。

     

    展开全文
  • 本项目基于nodemcu项目,做了一个能够使用手机远程控制并调节亮度的led灯代码在这里:项目主页,求star特性使用mqtt协议,支持wifi,mqtt断线重连,使用pwm控制led亮度使用方法设置src/config.lua中的参数:...

    c68e9f90a72277b77f42a05c5299d7db.png

    本项目基于nodemcu项目,做了一个能够使用手机远程控制并调节亮度的led灯

    代码在这里:项目主页,求star

    特性

    使用mqtt协议,支持wifi,mqtt断线重连,使用pwm控制led亮度

    使用方法

    1. 设置src/config.lua中的参数:

    wifiLedPin --输出针脚 config.wifi.ssid --wifi的ssid config.wifi.pwd --wifi密码 config.mqtt.* --mqtt相关设置项,需要有mqtt服务器,如果没有可以暂时使用我的 http://iot.lomot.cn:1883(不保证稳定性),或者去使用其他公共平台。(注意:其中clientId需要保持唯一)

    1. 将src文件夹中的文件全部写入

    之后可以通过mqtt控制 如以下命令将灯亮度调节到10, 最亮为100

    mosquitto_pub -h mqttserver.com -t /dorm/wifiLed -m "10"

    支持芯片

    esp8266 esp8285

    固件

    firmware文件夹中有可用固件 支持dht, file, gpio, http, mqtt, net, node, pwm, sjson, tmr, uart, wifi 模块

    相关问题

    • 如何刷写固件

    使用工具nodemcu-pyflasher

    • 关于mqtt服务器搭建以及mqtt协议的知识

    这里有篇文章介绍的比较好

    • 手机控制

    可以使用手机的mqtt客户端来控制,比如 MQTT dash

    后续计划

    支持homekit

    封面图片引用自espressif主页:[https://www.espressif.com/en/products/hardware/esp8266ex/overview](https://www.espressif.com/en/products/hardware/esp8266ex/overview)

    展开全文
  • 串口wifi模块使用手册和驱动协议

    热门讨论 2011-07-13 13:50:31
    串口Wifi模块是基于Uart接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户串口数据到无线网络之间的转换。通过Uart-Wifi模块,传统的串口设备也能轻松接入...
  • 摘自:...控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。数据帧:好比 802.11 的驮马,负责在工...

    摘自:https://blog.csdn.net/leho666/article/details/89136542

    802.11帧的三种类型:

    管理帧:负责监督,主要用来加入或退出无线网络,以及处理基站之间连接的转移事宜。

    控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。

    数据帧:好比  802.11 的驮马,负责在工作站之间传输数据。

    1、管理帧

    (Beacon(信标)帧)

    (Probe Request(探测请求)帧)

    (Probe Response(探测响应)帧)

    (ATIM帧)

    (Disassociation(解除关联)与Deauthentication(解除认证)帧)

    (Association Request(关联请求)帧)

    (Reassociation Request(重新关联请求)帧)

    (Authentication(身份认证)帧)

    1. 帧控制结构(Frame Control)

    1) Protocol Version: (协议版本)通常为0

    2) Type: 帧类型,管理帧: 00

    3) Subtype: 进一步判断帧的子类型

    3.1) Beacon(信标)帧

    3.2) Probe Request(探测请求)帧

    3.3) Probe Response(探测响应)帧

    3.4) ATIM帧

    3.5) Disassociation(解除关联)

    3.6) Deauthentication(解除认证)帧

    3.7) Association Request(关联请求)帧

    3.8) Reassociation Request(重新关联请求)帧

    3.9) Authentication(身份认证)帧

    4) To DS: 表明该帧是否是BSS向DS发送的帧

    5) From DS: 表明该帧是否是DS向BSS发送的帧

    6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1

    7) Retry(重传域): 表示该分段是先前传输分段的重发帧。

    8) Power Management: 表示传输帧以后,站所采用的电源管理模式

    8.1) 为1: STA处于power_save模式

    8.2) 为0: STA处于active模式

    9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。

    10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0

    11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0

    2. Duration/ID(持续时间/标识)

    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算

    3. Address Fields(地址域):

    1) Destination Address

    2) Source Address

    3) BSS ID

    4. Sequence Control(序列控制域): 用于过滤重复帧

    1) MSDU(MAC Server Data Unit), 12位序列号(Sequence Number)

    2) MMSDU(MAC Management Server Data Unit), 4位片段号(Fragment Number)组成

    5. Frame Body(Data): 发送或接收的信息。对于不同类型的数据帧来说,这个域的格式差别较大

    1) Beacon(信标)帧

    1.1) Timestamp(时戳)位: 可用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。当计数器到达最大值时,便会从头开始计数

    1.2) Beacon interval位: AP点每隔一段时间就会发出的Beacon(信标)信号,用来宣布 802.11网络的存在。我们打开无线连接的时候之所以能看到很多Wi-Fi点就是因为它

    1.3) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能

    1.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称

    1.5) 跳频参数组合(PH Parameter Set): 包含了加入 802.11跳频(frequency-hopping)网络所需要的参数

    1.6) 直接序列参数集合(DS Parameter Set): 指明网络所使用的信道数

    1.7) 免竞争参数集合(CF Parameter Set): 出现在支持免竞争接入点所发送的 Beacon帧中,并非必须

    1.8) IBSS 参数集合(IBSS Parameter Set): 指明ATIM window (数据待传指示通知信息间隔期间)

    1.9) TIM数据待传信息(Traffic Indication Map): 指示有哪些工作站需要接收待传数据

    1.10) Country: 国家识别码

    1.11) 功率限制(Power Constraint): 让网络得以向工作站传达其所允许的最大传输功率

    1.12) 信道切换宣告(Channel Switch Announcement): 为了警告网络中的工作站即将变换信道

    1.13) 禁声(Quiet): 为了避免与特定的军事雷达技术彼此干扰

    1.14) 发射功率控制报告(TPC Report): 指明链路的衰减情况,可以帮助工作站了解该如何调整传输功率

    1.15) 扩展物理层(ERP)

    1.16) 支持速率(Supported Rates): 无线局域网络支持数种标准速率。当移动工作站试图加入网络,会先检视该网络所使用的数据速率。有些速率是强制性的,每部工作站都必须支持

    ,有些则是选择性的

    1.17) RSN强健安全网络(Robust Security Network)

    2) Probe Request(探测请求)帧

    2.1) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称

    2.2) Supported Rate(支持速率)

    2.3) 扩展支持速率(Extended Supported Rate)

    3) Probe Response(探测响应)帧

    3.1) Timestamp(时戳)位: 可用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。当计数器到达最大值时,便会从头开始计数

    3.2) Beacon interval位: AP点每隔一段时间就会发出的Beacon(信标)信号,用来宣布 802.11网络的存在。我们打开无线连接的时候之所以能看到很多Wi-Fi点就是因为它

    3.3) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能

    3.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称

    3.5) 支持速率(Supported Rates): 无线局域网络支持数种标准速率。当移动工作站试图加入网络,会先检视该网络所使用的数据速率

    3.6) 跳频参数组合(PH Parameter Set): 包含了加入 802.11跳频(frequency-hopping)网络所需要的参数

    3.7) 直接序列参数集合(DS Parameter Set): 指明网络所使用的信道数

    3.8) 免竞争参数集合(CF Parameter Set): 出现在支持免竞争接入点所发送的 Beacon帧中,并非必须

    3.9) IBSS 参数集合(IBSS Parameter Set): 指明ATIM window (数据待传指示通知信息间隔期间)

    3.10) Country: 国家识别码

    3.11) FH Hopping Parameters

    3.12) FH Pattern Table

    3.13) 功率限制(Power Constraint): 让网络得以向工作站传达其所允许的最大传输功率

    3.13) 信道切换宣告(Channel Switch Announcement): 为了警告网络中的工作站即将变换信道

    3.14) 禁声(Quiet): 为了避免与特定的军事雷达技术彼此干扰

    3.15) IBSS 动态选项(IBSS DFS):在 IBSS 中负责动态选频的工作站可以在管理帧中传递 IBSS DFS 信息元素

    3.16) 发射功率控制报告(TPC Report): 指明链路的衰减情况,可以帮助工作站了解该如何调整传输功率

    3.17) 扩展物理层(ERP)

    3.18) 扩展支持速率(Extended Supported Rate)

    3.19) RSN强健安全网络(Robust Security Network)

    4) ATIM帧

    5) Disassociation(解除关联)

    5.1) Beacon Code

    6) Deauthentication(解除认证)帧

    6.1) Beacon Code

    7) Association Request(关联请求)帧

    7.1) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能

    7.2) Listen interval位: 为了节省电池的电力,工作站可以暂时关闭 802.11网络接口的天线。当工作站处于休眠状态,接入点必须为之暂存帧

    7.3) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称

    7.4) Supported Rate(支持速率)

    8) Reassociation Request(重新关联请求)帧

    8.1) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能

    8.2) Listen interval位: 为了节省电池的电力,工作站可以暂时关闭 802.11网络接口的天线。当工作站处于休眠状态,接入点必须为之暂存帧

    8.3) Current AP Address位: 使用Current AP Address(目前接入点的地址)位来表明目前所连接的接入点的 MAC地址

    8.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称

    8.5) Supported Rate(支持速率)

    9) Authentication(身份认证)帧

    9.1) Authentication Algorithm Number: 指明认证程序所使用的认证类型

    9.2) Authentication Transaction Sequence Number: 用以追踪身份认证的进度

    9.3) Status Code: 状态代码用来表示某项过程成功或失败

    9.4) 质询口令(Challenge Text): 802.11所定义的共享密钥身份认证系统。会要求移动工作站必须成功解码一段加密过的质询口令。这段质询口令的发送系通过 Challenge Text

    (质询口令)信息元素

    6. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

    2、控制帧

    (RTS帧,控制帧的一种)

    (CTS帧,控制帧的一种)

    (ACK帧,控制帧的一种)

    (PS-Poll帧)

    1. 帧控制结构(Frame Control)

    1) Protocol Version: (协议版本)通常为0

    2) Type: 帧类型,控制帧: 01

    3) Subtype: 进一步判断帧的子类型:

    控制帧

    3.1) 请求发送(Request To Send,RTS)数据包

    3.2) 清除发送(Clear To Send,CTS)数据包

    数据帧

    3.3) ACK确认(RTS/CTS)

    3.4) PS-Poll: 当一部移动工作站从省电模式中苏醒,便会发送一个 PS-Poll 帧给基站,以取得任何暂存帧

    4) To DS: 表明该帧是BSS向DS发送的帧时,该值设置为1

    5) From DS: 表明该帧是DS向BSS发送的帧时,该值设置为1

    控制帧负责处理无线介质的访问,因此只能够由无线工作站产生。传输系统并不会收送控制帧,因此这两个Bit必然为0

    6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1。

    控制帧不可能被切割,这个Bit必然为0

    7) Retry(重传域): 表示该分段是先前传输分段的重发帧。

    控制帧不像管理或数据帧那样,必须在序列中等候重送,因此这个 Bit必然为0

    8) Power Management: 表示传输帧以后,站所采用的电源管理模式

    8.1) 为1: STA处于power_save模式

    8.2) 为0: STA处于active模式

    9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。

    More Data bit只用于管理数据帧,在控制帧中此Bit必然为0

    10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0。

    控制帧不会经过加密。因此对控制帧而言,Protected Frame bit必然为0。

    11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0。

    控制帧是基本帧交换程序(atomic frame exchange operation)的组成要件,因此必须依序发送。所以这个Bit必然为0

    2. Duration/ID(持续时间/标识)

    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算。

    注意: 在PS-Poll帧中不包含Duration/ID这个字段

    3. Address Fields(地址域):

    这个域的具体格式和控制帧的子类型有关,不同的子类型会有一些微小的差别

    3.1) RTS(请求发送帧)

    3.1.1) Receiver Address(接收端地址)

    接收大型帧的工作站的地址

    3.1.2) Transmitter Address(发送端地址)

    RTS帧的发送端的地址

    3.2) CTS(允许发送)

    3.2.1) Receiver Address(接收端地址)

    3.3) ACK(应答)

    3.3.1) Receiver Address(接收端地址)

    3.4) PS-Poll(省电模式一轮询)

    3.4.1) AID(连接识别码 association ID)

    连接识别码是接入点所指定的一个数值,用以区别各个连接。将此识别码置入帧,可让接入点找出为其(移动工作站)所暂存的帧

    3.4.2) BSSID

    此位包含发送端目前所在 BSS(AP)的BSSID ,此BSS 建立自目前所连接的AP

    3.4.3) Transmitter Address(发送端地址)

    此为PS-Poll帧之发送端的 MAC地址

    4. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

    3.数据帧

    (IBSS 数据帧的一种)

    (接入点发送(From AP)的帧,数据帧的一种)

    (发送至接入点(To AP)的帧,数据帧的一种)

    (WDS帧,数据帧的一种)

    1. 帧控制结构(Frame Control)

    1) Protocol Version: (协议版本)通常为0

    2) Type: 帧类型,数据帧: 10

    3) Subtype: 进一步判断帧的子类型,不同类型的数据帧这个字段的格式是不同的

    3.1) IBSS帧

    3.1.1) 0000: Data

    3.1.2) 0010: Null

    3.2) From AP帧

    3.2.1) 0000: Data

    3.2.2) 1000: Data+CF+ASK

    3.2.3) 0100: Data+CF+Poll

    3.2.4) 1100: Data+CF+ACK+CF+Poll

    3.2.5) 1010: CF+ACK

    3.2.6) 0110: CF+Poll

    3.2.7) 1110: ACK+CF+Poll

    3.3) To AP帧

    3.3.1) 0000: Data

    3.3.2) 1000: Data+CF+ACK

    3.3.3) 0010: Null

    3.3.4) 1010: CF+ACK(no data)

    3.4) WDS帧

    null

    4) To DS: 表明该帧是否是BSS向DS发送的帧时

    4.1) IBSS: 设置为0

    4.2) To AP: 设置为1

    4.3) From AP: 设置为0

    4.4) WDS: 设置为1

    5) From DS: 表明该帧是否是DS向BSS发送的帧时

    5.1) IBSS: 设置为0

    5.2) To AP: 设置为0

    5.3) From AP: 设置为1

    5.4) WDS: 设置为1

    6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1

    7) Retry(重传域): 表示该分段是先前传输分段的重发帧。

    8) Power Management: 表示传输帧以后,站所采用的电源管理模式

    8.1) 为1: STA处于power_save模式

    8.2) 为0: STA处于active模式

    9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。

    10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0

    11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0

    2. Duration/ID(持续时间/标识)

    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算

    3. Address Fields(地址域):

    这个域的具体格式和控制帧的子类型有关,不同的子类型会有一些微小的差别

    1) IBSS

    1.1) Destination Address

    1.2) Source Address

    1.3) BSSID

    每个BSS都会被赋予一个BSSID,它是一个长度为48个bit的二进制识别码,用来辨识不同的BSS

    2) From AP

    2.1) Destination Address

    2.2) BSSID

    2.3) Source Address

    3) To AP

    3.1) BSSID

    3.2) Source Address

    3.3) Destination Address

    4) WDS

    4.1) BSSID

    4.2) Source Address

    4.3) Destination Address

    4. Sequence Control(序列控制域): 用于过滤重复帧

    1) MSDU(MAC Server Data Unit), 12位序列号(Sequence Number)

    2) MMSDU(MAC Management Server Data Unit), 4位片段号(Fragment Number)组成

    [SA,只有WDS中的帧有这个字段]

    5. Frame Body(Data): 发送或接收的信息。

    6. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

    扩展:

    WIFI认证过程

    可使用wireshark进行抓包

    1. AP发送Beacon广播管理帧

    2. 客户端向承载指定SSID的AP发送Probe Request(探测请求)帧

    3. AP接入点对客户端的SSID连接请求进行应答

    4. 客户端对目标AP请求进行身份认证(Authentication)

    5. AP对客户端的身份认证(Authentication)请求作出回应

    6. 客户端向AP发送连接(Association)请求

    7. AP对连接(Association)请求进行回应

    8. 客户端向AP请求断开连接(Disassociation)

    ————————————————

    版权声明:本文为CSDN博主「浩克博士」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/leho666/article/details/89136542

    展开全文
  • STM32F103RCT6单片机通过ESP8266WIFI使用TCP透传协议连接至移动ONENET,实现了两个基本功能,一是数据点定时上传至ONENET,二是实时获取ONENET下发的控制指令,本例中实现了onenet远程开关LED灯的操作。
  • WIFI协议详解

    万次阅读 2019-04-09 10:20:02
    控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。 数据帧:好比 802.11 的驮马,负责在工作站之间传...

    本博客整理自网络,仅供学习参考,如有侵权,联系删除。邮箱:rom100@163.com。

    802.11帧的三种类型:

    管理帧:负责监督,主要用来加入或退出无线网络,以及处理基站之间连接的转移事宜。

    控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。

    数据帧:好比  802.11 的驮马,负责在工作站之间传输数据。

     

     

    1、管理帧

    (Beacon(信标)帧)
    (Probe Request(探测请求)帧)
    (Probe Response(探测响应)帧)
    (ATIM帧)
    (Disassociation(解除关联)与Deauthentication(解除认证)帧)
    (Association Request(关联请求)帧)
    (Reassociation Request(重新关联请求)帧)
    (Authentication(身份认证)帧)

    1. 帧控制结构(Frame Control)
        1) Protocol Version: (协议版本)通常为0
        2) Type: 帧类型,管理帧: 00 
        3) Subtype: 进一步判断帧的子类型 
            3.1) Beacon(信标)帧
            3.2) Probe Request(探测请求)帧
            3.3) Probe Response(探测响应)帧
            3.4) ATIM帧
            3.5) Disassociation(解除关联)
            3.6) Deauthentication(解除认证)帧
            3.7) Association Request(关联请求)帧
            3.8) Reassociation Request(重新关联请求)帧
            3.9) Authentication(身份认证)帧
        4) To DS: 表明该帧是否是BSS向DS发送的帧 
        5) From DS: 表明该帧是否是DS向BSS发送的帧 
        6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1
        7) Retry(重传域): 表示该分段是先前传输分段的重发帧。 
        8) Power Management: 表示传输帧以后,站所采用的电源管理模式
            8.1) 为1: STA处于power_save模式
            8.2) 为0: STA处于active模式
        9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。 
        10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0 
        11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0
    2. Duration/ID(持续时间/标识)
    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算 
    3. Address Fields(地址域): 
        1) Destination Address
        2) Source Address
        3) BSS ID 
    4. Sequence Control(序列控制域): 用于过滤重复帧
        1) MSDU(MAC Server Data Unit), 12位序列号(Sequence Number)
        2) MMSDU(MAC Management Server Data Unit), 4位片段号(Fragment Number)组成 
    5. Frame Body(Data): 发送或接收的信息。对于不同类型的数据帧来说,这个域的格式差别较大
        1) Beacon(信标)帧
            1.1) Timestamp(时戳)位: 可用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。当计数器到达最大值时,便会从头开始计数
            1.2) Beacon interval位: AP点每隔一段时间就会发出的Beacon(信标)信号,用来宣布 802.11网络的存在。我们打开无线连接的时候之所以能看到很多Wi-Fi点就是因为它
            1.3) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能
            1.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称
            1.5) 跳频参数组合(PH Parameter Set): 包含了加入 802.11跳频(frequency-hopping)网络所需要的参数
            1.6) 直接序列参数集合(DS Parameter Set): 指明网络所使用的信道数
            1.7) 免竞争参数集合(CF Parameter Set): 出现在支持免竞争接入点所发送的 Beacon帧中,并非必须
            1.8) IBSS 参数集合(IBSS Parameter Set): 指明ATIM window (数据待传指示通知信息间隔期间)
            1.9) TIM数据待传信息(Traffic Indication Map): 指示有哪些工作站需要接收待传数据
            1.10) Country: 国家识别码
            1.11) 功率限制(Power Constraint): 让网络得以向工作站传达其所允许的最大传输功率
            1.12) 信道切换宣告(Channel Switch Announcement): 为了警告网络中的工作站即将变换信道
            1.13) 禁声(Quiet): 为了避免与特定的军事雷达技术彼此干扰
            1.14) 发射功率控制报告(TPC Report): 指明链路的衰减情况,可以帮助工作站了解该如何调整传输功率
            1.15) 扩展物理层(ERP)
            1.16) 支持速率(Supported Rates): 无线局域网络支持数种标准速率。当移动工作站试图加入网络,会先检视该网络所使用的数据速率。有些速率是强制性的,每部工作站都必须支持
         ,有些则是选择性的
            1.17) RSN强健安全网络(Robust Security Network)
        2) Probe Request(探测请求)帧
            2.1) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称
            2.2) Supported Rate(支持速率)
            2.3) 扩展支持速率(Extended Supported Rate)
        3) Probe Response(探测响应)帧
            3.1) Timestamp(时戳)位: 可用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。当计数器到达最大值时,便会从头开始计数
            3.2) Beacon interval位: AP点每隔一段时间就会发出的Beacon(信标)信号,用来宣布 802.11网络的存在。我们打开无线连接的时候之所以能看到很多Wi-Fi点就是因为它
            3.3) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能
            3.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称
            3.5) 支持速率(Supported Rates): 无线局域网络支持数种标准速率。当移动工作站试图加入网络,会先检视该网络所使用的数据速率 
            3.6) 跳频参数组合(PH Parameter Set): 包含了加入 802.11跳频(frequency-hopping)网络所需要的参数
            3.7) 直接序列参数集合(DS Parameter Set): 指明网络所使用的信道数
            3.8) 免竞争参数集合(CF Parameter Set): 出现在支持免竞争接入点所发送的 Beacon帧中,并非必须
            3.9) IBSS 参数集合(IBSS Parameter Set): 指明ATIM window (数据待传指示通知信息间隔期间)
            3.10) Country: 国家识别码
            3.11) FH Hopping Parameters
            3.12) FH Pattern Table
            3.13) 功率限制(Power Constraint): 让网络得以向工作站传达其所允许的最大传输功率
            3.13) 信道切换宣告(Channel Switch Announcement): 为了警告网络中的工作站即将变换信道
            3.14) 禁声(Quiet): 为了避免与特定的军事雷达技术彼此干扰
            3.15) IBSS 动态选项(IBSS DFS):在 IBSS 中负责动态选频的工作站可以在管理帧中传递 IBSS DFS 信息元素
            3.16) 发射功率控制报告(TPC Report): 指明链路的衰减情况,可以帮助工作站了解该如何调整传输功率
            3.17) 扩展物理层(ERP)
            3.18) 扩展支持速率(Extended Supported Rate) 
            3.19) RSN强健安全网络(Robust Security Network)
        4) ATIM帧
        5) Disassociation(解除关联)
            5.1) Beacon Code
        6) Deauthentication(解除认证)帧
            6.1) Beacon Code
        7) Association Request(关联请求)帧
            7.1) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能
            7.2) Listen interval位: 为了节省电池的电力,工作站可以暂时关闭 802.11网络接口的天线。当工作站处于休眠状态,接入点必须为之暂存帧
            7.3) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称
            7.4) Supported Rate(支持速率)
        8) Reassociation Request(重新关联请求)帧
            8.1) Capability information位: 发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能
            8.2) Listen interval位: 为了节省电池的电力,工作站可以暂时关闭 802.11网络接口的天线。当工作站处于休眠状态,接入点必须为之暂存帧
            8.3) Current AP Address位: 使用Current AP Address(目前接入点的地址)位来表明目前所连接的接入点的 MAC地址
            8.4) SSID服务集标识(Service Set Identity): 由字节所形成的字串,用来标示所属网络的BSSID,即我们在Wi-Fi连接前看到的接入点名称
            8.5) Supported Rate(支持速率)
        9) Authentication(身份认证)帧
            9.1) Authentication Algorithm Number: 指明认证程序所使用的认证类型
            9.2) Authentication Transaction Sequence Number: 用以追踪身份认证的进度
            9.3) Status Code: 状态代码用来表示某项过程成功或失败
            9.4) 质询口令(Challenge Text): 802.11所定义的共享密钥身份认证系统。会要求移动工作站必须成功解码一段加密过的质询口令。这段质询口令的发送系通过 Challenge Text
        (质询口令)信息元素
    6. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

     

    2、控制帧

    (RTS帧,控制帧的一种)
    (CTS帧,控制帧的一种)
    (ACK帧,控制帧的一种)
    (PS-Poll帧)

    1. 帧控制结构(Frame Control)
        1) Protocol Version: (协议版本)通常为0
        2) Type: 帧类型,控制帧: 01 
        3) Subtype: 进一步判断帧的子类型:   
            控制帧
            3.1) 请求发送(Request To Send,RTS)数据包
            3.2) 清除发送(Clear To Send,CTS)数据包
            数据帧
            3.3) ACK确认(RTS/CTS) 
            3.4) PS-Poll: 当一部移动工作站从省电模式中苏醒,便会发送一个 PS-Poll 帧给基站,以取得任何暂存帧 
        4) To DS: 表明该帧是BSS向DS发送的帧时,该值设置为1
        5) From DS: 表明该帧是DS向BSS发送的帧时,该值设置为1
        控制帧负责处理无线介质的访问,因此只能够由无线工作站产生。传输系统并不会收送控制帧,因此这两个Bit必然为0 
        6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1。
        控制帧不可能被切割,这个Bit必然为0 
        7) Retry(重传域): 表示该分段是先前传输分段的重发帧。
        控制帧不像管理或数据帧那样,必须在序列中等候重送,因此这个 Bit必然为0 
        8) Power Management: 表示传输帧以后,站所采用的电源管理模式
            8.1) 为1: STA处于power_save模式
            8.2) 为0: STA处于active模式
        9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。
        More Data bit只用于管理数据帧,在控制帧中此Bit必然为0
        10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0。
        控制帧不会经过加密。因此对控制帧而言,Protected Frame bit必然为0。
        11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0。
        控制帧是基本帧交换程序(atomic frame exchange operation)的组成要件,因此必须依序发送。所以这个Bit必然为0
    2. Duration/ID(持续时间/标识)
    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算。
    注意: 在PS-Poll帧中不包含Duration/ID这个字段
    3. Address Fields(地址域): 
    这个域的具体格式和控制帧的子类型有关,不同的子类型会有一些微小的差别
        3.1) RTS(请求发送帧)
            3.1.1) Receiver Address(接收端地址)
            接收大型帧的工作站的地址
            3.1.2) Transmitter Address(发送端地址)
            RTS帧的发送端的地址
        3.2) CTS(允许发送)
            3.2.1) Receiver Address(接收端地址)
        3.3) ACK(应答)
            3.3.1) Receiver Address(接收端地址)
        3.4) PS-Poll(省电模式一轮询) 
            3.4.1) AID(连接识别码 association ID)    
            连接识别码是接入点所指定的一个数值,用以区别各个连接。将此识别码置入帧,可让接入点找出为其(移动工作站)所暂存的帧
            3.4.2) BSSID
            此位包含发送端目前所在 BSS(AP)的BSSID ,此BSS 建立自目前所连接的AP
            3.4.3) Transmitter Address(发送端地址)
            此为PS-Poll帧之发送端的 MAC地址
    4. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

     

    3.数据帧

    (IBSS 数据帧的一种)
    (接入点发送(From AP)的帧,数据帧的一种)
    (发送至接入点(To AP)的帧,数据帧的一种)
    (WDS帧,数据帧的一种)

    1. 帧控制结构(Frame Control)
        1) Protocol Version: (协议版本)通常为0
        2) Type: 帧类型,数据帧: 10 
        3) Subtype: 进一步判断帧的子类型,不同类型的数据帧这个字段的格式是不同的
            3.1) IBSS帧
                3.1.1) 0000: Data
                3.1.2) 0010: Null
            3.2) From AP帧
                3.2.1) 0000: Data
                3.2.2) 1000: Data+CF+ASK
                3.2.3) 0100: Data+CF+Poll
                3.2.4) 1100: Data+CF+ACK+CF+Poll
                3.2.5) 1010: CF+ACK
                3.2.6) 0110: CF+Poll
                3.2.7) 1110: ACK+CF+Poll 
            3.3) To AP帧
                3.3.1) 0000: Data
                3.3.2) 1000: Data+CF+ACK
                3.3.3) 0010: Null
                3.3.4) 1010: CF+ACK(no data)
            3.4) WDS帧
                null
        4) To DS: 表明该帧是否是BSS向DS发送的帧时
            4.1) IBSS: 设置为0
            4.2) To AP: 设置为1
            4.3) From AP: 设置为0
            4.4) WDS: 设置为1
        5) From DS: 表明该帧是否是DS向BSS发送的帧时  
            5.1) IBSS: 设置为0
            5.2) To AP: 设置为0
            5.3) From AP: 设置为1
            5.4) WDS: 设置为1
        6) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1
        7) Retry(重传域): 表示该分段是先前传输分段的重发帧。 
        8) Power Management: 表示传输帧以后,站所采用的电源管理模式
            8.1) 为1: STA处于power_save模式
            8.2) 为0: STA处于active模式
        9) More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。 
        10) Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0 
        11) Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0
    2. Duration/ID(持续时间/标识)
    表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算 
    3. Address Fields(地址域): 
    这个域的具体格式和控制帧的子类型有关,不同的子类型会有一些微小的差别
        1) IBSS
            1.1) Destination Address
            1.2) Source Address
            1.3) BSSID 
            每个BSS都会被赋予一个BSSID,它是一个长度为48个bit的二进制识别码,用来辨识不同的BSS
        2) From AP
            2.1) Destination Address 
            2.2) BSSID
            2.3) Source Address
        3) To AP
            3.1) BSSID
            3.2) Source Address
            3.3) Destination Address  
        4) WDS 
            4.1) BSSID
            4.2) Source Address
            4.3) Destination Address
    4. Sequence Control(序列控制域): 用于过滤重复帧
        1) MSDU(MAC Server Data Unit), 12位序列号(Sequence Number)
        2) MMSDU(MAC Management Server Data Unit), 4位片段号(Fragment Number)组成
    [SA,只有WDS中的帧有这个字段]
    5. Frame Body(Data): 发送或接收的信息。
    6. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

    扩展:

    WIFI认证过程

    可使用wireshark进行抓包

    1. AP发送Beacon广播管理帧

    2. 客户端向承载指定SSID的AP发送Probe Request(探测请求)帧

    3. AP接入点对客户端的SSID连接请求进行应答

    4. 客户端对目标AP请求进行身份认证(Authentication)

    5. AP对客户端的身份认证(Authentication)请求作出回应

    6. 客户端向AP发送连接(Association)请求

    7. AP对连接(Association)请求进行回应

    8. 客户端向AP请求断开连接(Disassociation)

     

    展开全文
  • WiFi P2P协议学习

    万次阅读 2015-04-25 10:43:08
    P2P设备不能使用11b的速率传输数据和管理帧,除非 Probe Request帧要同时发送给P2P设备和非P2P设备 P2P设备不能响应显示只支持11b速率的Probe Request帧 P2P设备应该支持如下一些操作: P2P Discovery P2P Group ...
  • STM32F103RCT6使用ESP8266WIFI基于EDP协议连接ONENET 1.实现定时上报数据至ONENET数据流 2.实现远程控制LED灯
  • Sandwych.SmartConfig是从头构建的各种WiFi SmartConfig协议的纯C#实现。 TD; LR:如果您正在使用Xamarin移动应用程序来处理具有WiFi功能的IoT设备,则可能需要此库。 English | 入门 产品特点 .NET Standard...
  • 摘自:...控制帧:与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。数据帧:好比 802.11 的驮马,负责在工...
  • 使用WIFI模块AT指令进行MQTT协议通信

    万次阅读 2018-06-18 11:19:57
    如果用户需要使用MQTT方式进行通信,则需要选择标准AT指令+MQTT的版本。此版本不仅可以支持标准AT指令的SOCKET通信,还可以支持阿里云物联网套件。本文将着重介绍标准MQTT服务器的连接与通信。同时,我们的模组可以...
  • STM32F103通过ESP8266WIFI使用TCP透传协议连接至移动ONENET实现远程控制LED灯 硬件设备:STM32F103RCT6开发板, ATK-ESP8266wifi模块 软件开发环境:Keil5 一:ONENET平台配置 1.注册产品及添加设备 2.上传lua...
  • WIFI万能钥匙协议分析

    千次阅读 2017-07-25 21:27:05
    WIFI万能钥匙协议分析 作者:enimey 时间:2014.10.28 0x0 前段时间实验室需求,分析过WIFI万能钥匙的原理,现在空了写个博客记录下。 版本:2.9.38(不是最新版) 操作系统:Android 0x1 通过真实使用该软件后,...
  • Android通过蓝牙使用Pbap协议读取通讯录.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 备注:RT_Thread 版本为V4.0.2, 使用芯片型号为STM32F407VGT6,使用wifi模块为安信可esp8266系列的esp-01s ,使用stm32f407_st_discovery例程实现。 目录一、Cube MX配置配置串口二、 menuconfig 相关配置Kconfig文件...
  • WIFI系列协议--802.11r--快速基本服务集BSS转换1.定义 1.定义 名称 说明 pairwise master key (PMK) 本标准中使用的最高阶密钥。PMK可以派生自可扩展身份验证协议(EAP)方法生成的密钥,也可以直接从预分配...
  • WIFI无线协议802.11a/b/g/n/ac的演变以及区别

    万次阅读 多人点赞 2018-07-08 09:53:10
    毫无疑问,WiFi的出现普及带给我们巨大的上网便利,所以了解一下WiFi对应的802.11协议的演变和现在不同版本之前的区别也是非常有必要的。 1,常识普及 Wi-Fi是一种允许电子设备连接到一个无线局域网(WLAN)的技术...
  • WIFI系列协议--802.11i--介质访问控制MAC安全性增强1.定义2.缩写和首字母缩写3.概述3.1 架构的一般描述3.1.1 与其他IEEE 802®层的交互3.1.2 与非IEEE 802协议的交互3.2 IEEE 802.11体系结构的组件3.2.1 RSNA 1.定义...
  • 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。 适用范围 (a) 在您注册本应用帐号时,您根据本应用要求提供
  • 小明分享|WiFi协议迭代历程

    千次阅读 2020-12-02 11:01:22
    技术升级及市场情况:由于传输速度和传输距离表现欠佳,未被大规模使用。 802.11.a 发布年份:1999年 频段:5GHZ 理论速率:54Mbps 技术升级及市场情况:美、日予以认可;欧盟因标准问题被禁止使用;5GHZ组件研制...
  • 802.11无线wifi协议学习(二)

    千次阅读 2017-02-20 15:56:18
    1、使用802.11无线WIFI的数据长度来传递信息 802.11 是 IEEE 制定的无线局域网协议,802.11 以 802.2 的逻辑链路控制封 装来携带 IP 封包,因此能够以 802.2 SNAP 格式接收无线网络数据。如果开启 wifi 芯片的...
  • 最近在写一个android到PC端的一个通过UDP协议传输广播数据包的问题。  使用自己搭建了一个网络框架: connector = new DMUDPConnector();  String ip;  try { ip = WifiUtils.getHotspotIPAddress(); } ...
  • 使用庆科EMW3080模块来连接阿里云服务器的,模块刚到手的时候,因为固件的问题迟迟使用不了,后来按照售后发给我的文件重新刷了一遍固件才能使用AT指令。 然后就可以开始了。首先可以用串口助手按照下面的步骤来...
  • 【IoT】WIFI 无线协议 802.11 b/g/n 模式

    千次阅读 2019-07-03 14:22:18
    Wi-Fi是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用2.4G UHF或5G SHF ISM 射频频段。 1、11b 1Mbps DSSS 2Mbps DSSS 5.5Mbps CCK 11Mbps CCK 2、11g 6Mbps OFDM 9Mbps OFDM 12Mbps OFDM 18...
  • 而在这么多设备的聚集在同一个家庭环境中,让小白用户头疼的事情来了,因为各厂商之间的标准不一样,如果仅购买单一的Zigbee设备,会出现无法使用情况,那小白用户到底应该购买什么协议智能硬件设备呢?今天就来探讨...
  • 桃芯科技BLE5.1SoC芯片即将量产面世,该系列芯片搭载自主研发的4.2/5.0/5.1 Core Spec全栈协议栈,内置PMU,内置Flash,内置高性能射频,48MHz主频等效M3处理器,采用台积电40nm 0.9v工艺。产品规格是高逼格的,性能...
  • 基于WiFi的远程网络的TDMA MAC协议; 自翻译文献 第2节中,描述了使用WiLD链接的基本农村网络体系结构。第3节讨论了为什么标准CSMA / CA协议不适用于WiLD网络,而首选TDMA。第4节介绍了用于WiLD网络的基于TDMA的MAC...
  • HSTS新的WEB案例协议,使用HTTPS的HSTS需要注意一个问题,HTTP页面合建的WIFI会有个麻烦问题.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,167
精华内容 466
关键字:

wifi使用协议