当前位置: 首页 > news >正文

WiFi-交互过程分析

目录

1.802.11 标准简介

2.802.11 协议格式

2.1管理帧协议格式

2.1.1(Beacon (信标) 帧)

2.1.2(Probe Request (探测请求) 帧)

2.1.3(Probe Response (探测响应) 帧)

2.1.4(ATIM 帧)

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

2.1.6(Association Request (关联请求) 帧)

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

2.1.8(Authentication (身份认证) 帧)

2.2数据帧协议格式

2.2.1(IBSS 数据帧的一种)

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

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

2.2.4(WDS 帧,数据帧的一种)

2.3控制帧协议格式

2.3.1(RTS 帧,控制帧的一种)

2.3.2(CTS 帧,控制帧的一种)

2.3.3(ACK 帧,控制帧的一种)

2.3.4(PS-Poll 帧)

3. Wi-Fi 认证过程

3.1. AP 发送 Beacon 广播管理帧

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

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

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

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

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

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

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

4. 802.11 标准中的数据安全加密协议


1.802.11 标准简介

802.11 标准将所有的数据包分为 3 种:

1. 数据:数据数据包的作用是用来携带更高层次的数据 (如 IP 数据包,ISO7 层协议)。

    它负责在工作站之间传输数据

2. 管理:管理数据包控制网络的管理功能

    1) 信标帧 (Beacons): 在无线设备中,定时依次按指定间隔发送的有规律的无线信号 (类似心跳包),主要用于定位和同步使用

    2) 解除认证 (Deauthentication) 数据包

    3) Probe(request and response)

    4) Authenticate(request and response)

    5) Associate(request and response)

    6) Reassociate(request and response)

    7) Dissassociate(notify)

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

3. 控制:控制数据包得名于术语 "媒体接入控制 (Media Access Control, MAC)",是用来控制对共享媒体 (即物理媒介,如光缆) 的访问

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

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

    3) ACK 确认 (RTS/CTS)  

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

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

这些不同类别的数据包被统称为 "数据包类型"。

802.11 的两类服务:

1. 站点服务 SS (每个 STA 都要有的服务)

    1) 认证 (Authentication)

    2) 解除认证 (Deauthentication)

    3) 加密 (Privacy)

    4) MSDU 传递 (MSDU delivery)

2. 分布式系统服务 DSS (DS 特有服务)

    1) 关联 (Association)

    2) 解除关联 (Deassociation)

    3) 分布 (Distribution)

    4) 集成 (Integration)

    5) 重关联 (Ressociation)

2.802.11 协议格式

2.1管理帧协议格式

2.1.1(Beacon (信标) 帧)

2.1.2(Probe Request (探测请求) 帧)

2.1.3(Probe Response (探测响应) 帧)

2.1.4(ATIM 帧)

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

2.1.6(Association Request (关联请求) 帧)

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

2.1.8(Authentication (身份认证) 帧)

1. 帧控制结构(Frame Control)1) Protocol Version: (协议版本)通常为02) 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: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为17) 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 Address2) Source Address3) 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 Parameters3.12) FH Pattern Table3.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 Code6) Deauthentication(解除认证)帧6.1) Beacon Code7) 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),用于检错,注意是检错不是纠错 

   管理帧类型Type为: 00 
   并有如下子类型Subtype:

  • 0000 Association request(连接要求)
  • 0001 Association response(连接应答)
  • 0010 Reassociation request(重新连接要求)
  • 0011 Reassociation response(重新连接应答)
  • 0100 Probe request(探查要求)
  • 0101 Probe response(探查应答)
  • 1000 Beacon(导引信号)
  • 1001 ATIM(数据代传指示通知信号)
  • 1010 Disassociation(解除连接)
  • 1011 Authentication(身份验证)
  • 1100 Deauthentication(解除认证)

2.2数据帧协议格式

数据帧的形式取决于网络的形式。帧究竟属于哪种类型,完全取决于 subtype (子类型) 位,而与其他位是否出现在帧中无关。

2.2.1(IBSS 数据帧的一种)

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

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

2.2.4(WDS 帧,数据帧的一种)

1. 帧控制结构(Frame Control)1) Protocol Version: (协议版本)通常为02) Type: 帧类型,数据帧: 10 3) Subtype: 进一步判断帧的子类型,不同类型的数据帧这个字段的格式是不同的3.1) IBSS帧3.1.1) 0000: Data3.1.2) 0010: Null3.2) From AP帧3.2.1) 0000: Data3.2.2) 1000: Data+CF+ASK3.2.3) 0100: Data+CF+Poll3.2.4) 1100: Data+CF+ACK+CF+Poll3.2.5) 1010: CF+ACK3.2.6) 0110: CF+Poll3.2.7) 1110: ACK+CF+Poll 3.3) To AP帧3.3.1) 0000: Data3.3.2) 1000: Data+CF+ACK3.3.3) 0010: Null3.3.4) 1010: CF+ACK(no data)3.4) WDS帧null4) To DS: 表明该帧是否是BSS向DS发送的帧时4.1) IBSS: 设置为04.2) To AP: 设置为14.3) From AP: 设置为04.4) WDS: 设置为15) From DS: 表明该帧是否是DS向BSS发送的帧时  5.1) IBSS: 设置为05.2) To AP: 设置为05.3) From AP: 设置为15.4) WDS: 设置为16) More Fragment: 用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为17) 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) IBSS1.1) Destination Address1.2) Source Address1.3) BSSID 每个BSS都会被赋予一个BSSID,它是一个长度为48个bit的二进制识别码,用来辨识不同的BSS2) From AP2.1) Destination Address 2.2) BSSID2.3) Source Address3) To AP3.1) BSSID3.2) Source Address3.3) Destination Address  4) WDS 4.1) BSSID4.2) Source Address4.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),用于检错,注意是检错不是纠错 

数据帧的Type为:10

并有如下子类型Subtype:

  • 0000 Data(数据)
  • 0001 Data+CF-Ack
  • 0010 Data+CF-Poll
  • 0011 Data+CF-Ack+CF-Poll
  • 0100 Null data (无数据:未发送数据)
  • 0101 CF-Ack (未发送数据)
  • 0110 CF-Poll (未发送数据)
  • 0111 Data+CF-Ack+CF-Poll
  • 1000 QoS Data
  • 1001 QoS Data + CF-Ack
  • 1010 QoS Data + CF-Poll
  • 1011 QoS Data + CF-Ack + CF-Poll
  • 1100 QoS Null (未发送数据)
  • 1101 QoS CF-Ack (未发送数据)
  • 1110 QoS CF-Poll (未发送数据)
  • 1111 QoS CF-Ack+CF-Poll (未发送数据)

2.3控制帧协议格式

2.3.1(RTS 帧,控制帧的一种)

2.3.2(CTS 帧,控制帧的一种)

2.3.3(ACK 帧,控制帧的一种)

2.3.4(PS-Poll 帧)

1. 帧控制结构(Frame Control)1) Protocol Version: (协议版本)通常为02) 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发送的帧时,该值设置为15) 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必然为010) 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 建立自目前所连接的AP3.4.3) Transmitter Address(发送端地址)此为PS-Poll帧之发送端的 MAC地址
4. FCS(CRC): 包括32位的循环冗余校验(CRC),用于检错,注意是检错不是纠错

控制帧Type为: 01 
并有如下子类型Subtype:  

  • 1010 Power Save-Poll(省电模式-轮询)
  • 1011 RTS(请求发送)
  • 1100 CTS(允许发送)
  • 1101 ACK(应答)
  • 1110 CF-End(免竞争期间结束)
  • 1111 CF-End(免竞争期间结束)+CF-Ack(免竞争期间回应)

3. Wi-Fi 认证过程

有了 802.11 协议的基本格式之后,我们可以使用 wireshark 进行抓包实验,验证一下我们的理论

ifconfig -a
ifconfig wlan1 up
airmon-ng start wlan1
启动wireshark,选择mon0网卡(开启了Monotor模式的虚拟网卡

0x1: 普通无加密连接过程

3.1. AP 发送 Beacon 广播管理帧

因为 AP 发送的这个 Beacon 管理帧数据包是广播地址,所以我们的 PCMIA 内置网卡、或者 USB 外界网卡会接收到这个数据包,然后在我们的 "无线连接列表" 中显示出来

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

当我们点击 "连接" 的时候,无线网卡就会发送一个 Prob 数据帧,用来向 AP 请求连接

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

AP 对客户端的连接作出了回应,并表示不接受任何形式的 "帧有效负载加密 (frame-payload-encryption)"

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

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

AP 回应,表示接收身份认证

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

身份认证通过之后,所有的准备工作都做完了,客户端这个时候可以向 WLAN AP 发起正式的连接请求,请求接入 WLAN

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

AP 对客户端的连接请求 (Association) 予以了回应 (包括 SSID、性能、加密设置等)。至此,Wi-Fi 的连接身份认证交互就全部结束了,之后就可以正常进行数据发送了

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

当我们点击 "断开连接" 的时候,网卡会向 AP 发送一个断开连接的管理数据帧,请求进行断开连接

由此,我们可以发现,基于对数据帧格式的了解,黑客可以发起一些针对协议的攻击。

1. Deanthentication攻击
2. Disassociation攻击

黑客可以利用这种方式加快对 WEP/WPS-PSK 保护的无线局域网的攻击,迫使客户端重新连接并且产生 ARP 流量 (基于 WEP 的攻击)、或捕获重新进行 WPA 连接的四次握手,然后可以对密码进行离线字典或彩虹表破解攻击

0x2: 基于 WEP 加密的连接过程

0x3: 基于 WPA-PSK 加密的连接过程

这两种连接交互过程原理上和无加密方式 (开放系统方式) 相同,

4. 802.11 标准中的数据安全加密协议

在 IEEE 802.11 协议中的加密算法有如下几个

1. WEP,Wired Equivalent Privacy: 802.11中最早期的加密标准
http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy2. CCMP(CTR with CBC-MAC Protocol): 基于AES的全新加密协议,在IEEE 802.11i中提出
http://en.wikipedia.org/wiki/CCMP3. WPA(Wi-Fi Protected Access)
http://en.wikipedia.org/wiki/WPA4. TKIP(Temporal Key Integrity Protocol)
http://en.wikipedia.org/wiki/Temporal_Key_Integrity_Protocol5. WPA2(Wi-Fi Protected Access 2)
http://en.wikipedia.org/wiki/WPA2

供参考文章:WLAN 帧详解 - sudochen - 博客园 (cnblogs.com)

供参考文章:WIFI基本数据传输机制理解 - 百度文库 (baidu.com)

相关文章:

WiFi-交互过程分析

目录 1.802.11 标准简介 2.802.11 协议格式 2.1管理帧协议格式 2.1.1(Beacon (信标) 帧) 2.1.2(Probe Request (探测请求) 帧) 2.1.3(Probe Response (探测响应) 帧) 2.1.4(ATIM 帧) 2.1.5(Disassociation (解除关联) 与 Deauthentication (解除认证) 帧) 2.1.6(Assoc…...

基于ZYNQ+linux+xenomai 的多轴运动控制平台关键技术研发-测试系统搭建(四)

本章搭建实验测试平台,对多轴运动控制平台的硬件功能和系统任务通信功能 进行测试。通过测试结果,进行平台硬件设计正确性验证和系统实时处理与同步控制 的功能与性能验证。 5.1 测试平台搭建 多轴运动控制系统的测试平台搭建如图 5.1 所示。测试平台由安…...

初识操作系统

目录 1.操作系统是什么 2.为什么要有操作系统 3.操作系统的相关关系 1.驱动程序 2.系统调用接口 3.用户调用接口 4.用户程序 4.用具体的例子理解操作系统 1.操作系统是什么 (1)操作系统是一组管理计算机硬件与软件资源的计算机软件程序 。 (…...

#详细介绍!!!线程池

本篇详细: 1.介绍了什么是线程池 2.使用线程池有什么好处 3.线程池的工作流程 4.线程池的各个参数介绍 5.如何编写Java代码来创建线程池 6.使用线程池的注意事项 目录 一:什么是线程池 二:为什么使用线程池来管理线程 三:线程池…...

【嵌入式Linux学习笔记】基于Linux官方库的标准外设驱动

对于标准的外设如LED,KEY,PWM等,以及标准通信协议,Linux都自带有标准的驱动库,不需要我们自行编写,只需要配置好相应的GPIO属性和电气属性,即可匹配相应的驱动,在应用程序中直接使用…...

网络爬虫抓包工具

📚介绍:Charles是著名的抓包工具🐂,可以抓取移动端与pc端网络访问🕷的所有数据。我们将使用它抓取我们与小程序交互的所有信息。🎇我们可以百度搜索Charles官网下载适用于自己系统的Charles安装包&#x1f…...

蓝桥杯倒计时 | 倒计时17天

作者🕵️‍♂️:让机器理解语言か 专栏🎇:蓝桥杯倒计时冲刺 描述🎨:蓝桥杯冲刺阶段,一定要沉住气,一步一个脚印,胜利就在前方! 寄语💓&#xff1a…...

【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

文章目录简介什么是 Sentinel控制台获取源码方式下载jar包方式启动访问服务配置项目,启用Sentinel完整配置测试简介 接下来我们通过Sentinel控制台来实现对服务消费者提供的熔断机制进行监控和控制,本操作先要完成之前的步骤,详情请参照【Sp…...

个人博客系统项目测试报告

项目背景介绍 背景:当在学习一项技能的时候,我们总会习惯通过博客来记录所学的知识点,方便后期遗忘时随时查看和快速复习。本次开发的Web网站程序便是为了更加轻量和方便地记录自己的学习笔记 概述:一个Web网站程序,…...

flutter安装自用笔记

参照文章: 开发环境搭建 Flutter环境配置步骤: 1.系统配置要求 2.Java环境 3.Flutter SDK 4.Android 开发环境一、系统配置要求 操作系统:Windows 7 SP1 或更高的版本(基于 x86-64 的 64 位操作系统) 磁盘空间&…...

tomcat线程池以及在SpringBoot中的启动过程

tomcat两大组件:连接器Connector,容器Container tomcat线程池 Tomcat线程池扩展了ThreadPoolExecutor,行为稍有不同 重写了ThreadPoolExecutor的execute方法 如果总线程数达到maximumPoolSize,不会立刻抛RejectedExecutionExcept…...

第十四届中国大学生创新创业大赛

文章目录比赛官网比赛题目含金量非常高建议参加的学生推荐几个我感兴趣的题目联系比赛官网 官网地址:http://www.fwwb.org.cn/ 实际叫做:中国大学生创新创业大赛 比赛题目 题目公布查看地址:http://www.fwwb.org.cn/topic/index 题目有…...

LeetCode:322. 零钱兑换——动态规划从案例入门

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀算法专栏: 👉🏻123 一、🌱322. 零钱兑换 题目描述:给你一个整数数组coins,…...

【lwIP(第四章)】网络接口

目录一、lwIP网络接口简介二、lwIP的netif结构三、lwIP的netif相关函数1. lwIP网络接口的全局变量2. netif_add()函数3. netif_remove()函数4. netif_set_default()函数一、lwIP网络接口简介 lwIP协议栈支持多种不同的网络接口(网卡),由于网卡…...

Vue3 pinia入门篇(一)

系列文章目录 主要为了记录如何使用Pinia在Vue3中的使用方式(下面会介绍为什么使用Vue3选型) 文章目录系列文章目录不用Vue2使用Pinia举例子?1.笔者的个人看法:2.总结一、Pinia是什么1.状态管理工具(类比Vuex&#xff…...

python面向对象编程解释

python是一个面向对象的编程语言 面向过程的开发语言有C,面向对象除了python还有java等语言 具体来讲: 面向过程 :举个例子,比如说,把大象装进冰箱总共分几步,第一步,把冰箱门打开&#xff0c…...

ARM(IMX6U)嵌入式软件裸机开发之环境搭建与配置

目录 前沿 Ubuntu 和 Windows 文件互传 Ubuntu 下 NFS 和 SSH 服务开启 Ubuntu 交叉编译工具链安装 Source Insight 软件安装和使用 Visual Studio Code 软件的安装和使用 前沿 为什么我们要学习裸机开发呢? 1、裸机开发是了解所使用的 CPU 最直接、最简单的方…...

Java文件复制多种方法

1、InputStream与OutputStream 创建两个文件 - 源和目标。然后我们从源创建InputStream并使用OutputStream将其写入目标文件进行 java 复制文件操作。 private static void copyFileUsingStream(File source, File dest) throws IOException {InputStream is null;OutputStr…...

Java语言-----封装、继承、抽象、多态、接口

目录 前言 一.封装 1.1封装的定义 1.2访问修饰符的使用 二.继承 2.1继承的定义 2.2继承的方法 2.3继承使用注意点 三.多态 3,1多态的定义 3.2动态绑定 3.3方法重写 3.4向上(向下)转型 四.抽象 4.1抽象的概述和定义 4.2抽象的使用 五…...

基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)

摘要:基于深度学习的瓶子检测软件用于自动化瓶子检测与识别,对于各种场景下的塑料瓶、玻璃瓶等进行检测并计数,辅助计算机瓶子生产回收等工序。本文详细介绍深度学习的瓶子检测软件,在介绍算法原理的同时,给出Python的…...

仿网易云小程序(一)

目录 一、项目准备 二、项目初始化 1.新建项目 2.封装service请求 三、底部导航栏的设计 四、MV页面的设计 1.将获取到的数据进行渲染 2.播放量数据进行处理转换 3.时长数据进行处理转换 五、MV组件的抽离封装 六、请求的抽离video 七、下拉重新请求新的数据 八、跳转到…...

【C++】vector模拟实现及其应用

文章目录vector的介绍vector的使用及其实现vector的定义vector iterator 的使用vector空间增长问题vector的增删查改vector的介绍 vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素…...

JS看这一篇就够啦,JS基础大全,可用于快速回顾知识,面试首选

1 JS简介 更多JS内容可以看MDN:点击传送 浏览器分成两部分:渲染引擎和 JS 引擎 渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkitJS 引擎:也称为 JS 解释器…...

武汉凯迪正大GB4208外壳防护等级试具

一、IP1X 试验探棒 产品概述: 符合IEC61032图1试具A、GB16842试具A、GB4208IP1、IEC60529IP1、IEC60065 等标准要求。用于防止手背触及的防护检验。 技术参数: 1、探球直径:50mm 2、挡板直径:45mm 3、挡板厚度:…...

Cent OS 从零部署ruoyi-cloud教程

1、java环境安装 https://blog.csdn.net/m0_61035257/article/details/125705400 Java_home设置 https://blog.csdn.net/m0_51104427/article/details/123924893 2、mysql安装 https://blog.csdn.net/ShockChen7/article/details/126965940 若安装的是Mysql8,建议…...

ChatGPT相关核心算法

ChatGPT 的卓越表现得益于其背后多项核心算法的支持和配合。本文将分别介绍作为其实现基础的 Transformer 模型、激发出其所蕴含知识的Prompt/Instruction Tuning 算法、其涌现出的思维链能力、以及确保其与人类意图对齐的基于人类反馈的强化学习算法。 1.基于Transformer的预…...

Python导入模块,Python import用法(超级详细)

使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位…...

大量产品“GPT 化”,开源大模型 AI 应用开发框架发布

大型语言模型(LLM)的出现,让我们看到了 AI 在自然语言处理方面的潜力,它涌现出来的创造力和思维能力令人叹为观止,并在新一代人机交互领域释放了大量的想象空间。 目前,决策者、产品负责人和开发者都在抢滩…...

STM32——IIC总线(MPU6050应用)

目录 一、IIC介绍 二、MPU6050 三、MPU6050实例 四、EEPROM ---------------------------------------------------------------------------------------------------------------------------- 每次都是IIC好没新意啊,我决定这次录视频的时候举两个例子&…...

ADB使用经验

adb是Android Debug Bridge的缩写,是一种用于与Android设备通信的命令行工具。它可以通过USB连接或Wi-Fi连接,允许开发者在计算机和Android设备之间进行文件传输、安装应用程序、调试应用程序等操作。要使用adb,需要先将Android设备与计算机连…...

设计素材网站特点/产品推广渠道

题库来源:安全生产模拟考试一点通公众号小程序 2022年低压电工练习题是低压电工考试题库的多种练习模式!2022年低压电工操作证考试题及答案依据低压电工最新教材汇编。低压电工考试资料随时根据安全生产模拟考试一点通上手机同步练习。 1、【单选题】( …...

青岛网站建设价格/九幺seo工具

[计算机软件及应用]VB66.1.1 VB的文件类型 1. 工程文件(.vbp) 6.1.2 工程的组成 1. 窗体模块(.frm) 6.1.3 管理工程 1. 保存工程 6.1.3 管理工程 3. 添加工程 6.2.1 Sub过程 语法: Private Sub Form_事件名([参数列表]) [局部变量和常数声明] 语句块 End Sub 说明&a…...

诸暨做网站广告的电话/性价比高seo排名优化的

MySQL的官方地址:https://www.mysql.com/社区最新版本:5.7.18有两种下载格式:Installer和Zip两种以zip格式简单介绍:将压缩包解压后内容复制到所需目录(如:D:/Program Files/mysql )mysql :the MySQL command-line tool 命令行工具…...

pinterest wordpress/品牌整合营销

液体分析测试套件市场的企业竞争态势 该报告涉及的主要国际市场参与者有Palintest、MACHEREY-NAGEL、Tintometer - Lovibond、AQUALYTIC、Hanna Instruments、JURA FILTRATION、Acromet等。这些参与者的市场份额、收入、公司概况和SWOT分析都包含在液体分析测试套件市场调研报告…...

旅游商业网站策划书/百度软文

当数据要在网际直接传输的时候,路由器根据IP数据报进行路由.当一台主机要发送数据的时候,其目的主机一般为局域网内的主机或者网外的主机.如果是局域网内的主机,主机发送的以太网帧的头部目的mac地址为目的主机的mac地址,不需要路由.如果是网外的主机,则将数据发到默认的网关,由…...

做网站实现自动生成pdf/龙网网络推广软件

题目链接:https://ac.nowcoder.com/acm/problem/13591 先点击去做做,再来看张菜菜的拙见。 算法:贪心简单排序 思路:由于演员的 颜值是乱序的,所以在进行匹配的 时候很可能会有最差和最好两种极端,当然这…...