802.11中的各种帧

2024-06-14 16:28
文章标签 802.11

本文主要是介绍802.11中的各种帧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在无线网络中,802.11协议定义了三种类型的帧:管理帧(Management Frames)、控制帧(Control Frames)和数据帧(Data Frames)。每种类型的帧都有其特定的功能,帮助维护和管理无线网络。下面是管理帧和控制帧的详细介绍:

管理帧(Management Frames)

管理帧用于建立和维护无线网络中的连接。它们帮助设备发现网络、加入或离开网络,并保持连接的状态。常见的管理帧包括:

  1. Beacon Frames(信标帧)

    • 由接入点(AP)定期发送,以公告其存在和网络参数(如SSID、支持的数据速率、安全设置等)。
    • 帮助设备发现并选择要连接的无线网络。
  2. Probe Request/Response Frames(探测请求/响应帧)

    • 探测请求帧由客户端设备发送,用于主动扫描可用的无线网络。
    • 探测响应帧由AP发送,以响应探测请求帧,提供网络信息。
  3. Authentication Frames(认证帧)

    • 用于设备和AP之间的身份验证过程。
    • 确保设备是合法用户,可以加入网络。
  4. Deauthentication Frames(解除认证帧)

    • 用于终止设备和AP之间的认证关系。
    • 通常在设备离开网络或发生安全事件时发送。
  5. Association Request/Response Frames(关联请求/响应帧)

    • 关联请求帧由客户端设备发送,用于请求与AP建立连接。
    • 关联响应帧由AP发送,以确认或拒绝连接请求。
  6. Disassociation Frames(解除关联帧)

    • 用于终止设备和AP之间的关联关系。
    • 通常在设备离开网络或需要重新建立连接时发送。

控制帧(Control Frames)

控制帧用于帮助管理数据传输过程,确保数据帧在无线网络中的可靠传输。常见的控制帧包括:

  1. ACK Frames(确认帧)

    • 由接收方发送,以确认成功接收到数据帧。
    • 发送方在接收到ACK帧后,会继续发送下一个数据帧。
  2. RTS Frames(请求发送帧)

    • 由发送方发送,用于请求对信道的使用权限。
    • 用于减少冲突,特别是在高流量或干扰环境中。
  3. CTS Frames(清除发送帧)

    • 由接收方发送,以响应RTS帧,授予发送方对信道的使用权限。
    • 通过CTS帧,网络中的其他设备知道发送方将占用信道,并避免冲突。
  4. PS-Poll Frames(省电轮询帧)

    • 由省电模式的客户端设备发送,用于请求AP发送缓冲的数据帧。
    • 帮助省电模式下的设备高效地接收数据。
  5. Block Acknowledgement Frames(块确认帧)

    • 用于高效确认一组数据帧,而不是每个帧单独确认。
    • 提高传输效率,特别是在高速无线网络中。

捕获管理帧和控制帧

在监控模式下,可以使用 tcpdumpgopacket 捕获管理帧和控制帧。以下是捕获所有管理帧和控制帧的示例:

  1. 使用 tcpdump 捕获管理帧和控制帧

sudo tcpdump -i wlan0mon -e -s 0 type mgt or type ctl
  1. 使用 gopacket 捕获和解析管理帧和控制帧的 Go 代码

package mainimport ("fmt""log""github.com/google/gopacket""github.com/google/gopacket/layers""github.com/google/gopacket/pcap"
)func main() {// 设置网络接口名称和抓包过滤器iface := "wlan0mon"snaplen := int32(65535)promisc := falsetimeout := pcap.BlockForeverfilter := "type mgt or type ctl"// 打开网络接口进行抓包handle, err := pcap.OpenLive(iface, snaplen, promisc, timeout)if err != nil {log.Fatal(err)}defer handle.Close()// 设置 BPF 过滤器if err := handle.SetBPFFilter(filter); err != nil {log.Fatal(err)}fmt.Println("Capturing Wi-Fi Management and Control frames on interface", iface)// 开始抓包packetSource := gopacket.NewPacketSource(handle, handle.LinkType())for packet := range packetSource.Packets() {processPacket(packet)}
}func processPacket(packet gopacket.Packet) {// 获取 802.11 层dot11Layer := packet.Layer(layers.LayerTypeDot11)if dot11Layer == nil {return}dot11, _ := dot11Layer.(*layers.Dot11)// 判断帧类型switch dot11.Type {case layers.Dot11TypeMgmt:fmt.Println("Management Frame captured:")// 处理管理帧,获取具体类型switch dot11.Subtype {case layers.Dot11MgmtSubtypeBeacon:fmt.Println("  Beacon Frame")case layers.Dot11MgmtSubtypeProbeReq:fmt.Println("  Probe Request Frame")case layers.Dot11MgmtSubtypeProbeResp:fmt.Println("  Probe Response Frame")// 可以添加更多管理帧类型default:fmt.Println("  Other Management Frame")}case layers.Dot11TypeCtrl:fmt.Println("Control Frame captured:")// 处理控制帧,获取具体类型switch dot11.Subtype {case layers.Dot11ControlSubtypeAck:fmt.Println("  ACK Frame")case layers.Dot11ControlSubtypeRTS:fmt.Println("  RTS Frame")case layers.Dot11ControlSubtypeCTS:fmt.Println("  CTS Frame")// 可以添加更多控制帧类型default:fmt.Println("  Other Control Frame")}default:fmt.Println("Other Frame Type captured")}
}

总结

管理帧和控制帧在无线网络中起着关键作用,分别用于建立和维护连接,以及管理数据传输过程。在监控模式下,你可以使用工具如 tcpdump 或编程库如 gopacket 来捕获和分析这些帧,了解无线网络的工作状态。

这篇关于802.11中的各种帧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060914

相关文章

802.11报文类型在wireshark的过滤条件

– Common Filters for wireshark sniffer: #地址过滤 wlan.addr == wlan.sa eq 00:09:5b:e8:c4:03 and wlan.bssid ne ff:ff:ff:ff:ff:ff wlan.bssid eq 00:11:92:6e:cf:00 wlan.sa eq 00:09:5b:e8:c4:03 #802.11报文类型过滤

802.11ax(Wi-Fi 6)技术如何测试?

1. 802.11ax关键技术简介 802.11ax协议(也称Wi-Fi 6,Wi-Fi 5指802.11ac)是为了满足高密度场景下用户速率和体验需求而提出的。类似于3GPP 5G NR中的eMBB应用场景,其目的是提升高密集场景的用户速率,从而获得更好的用户峰值数据体验。2013年3月TG(Task Group)工作组成立,2014年开始研究802.11ax标准,2016年提出802.11a

OFDM 802.11a的FPGA实现(二十一)发射主控模块MCU(含代码)

目录 1.前言 2.主控逻辑 3.Matlab 4.verilog 5.ModelSim 6.ModelSim仿真结构与Matlab自动化对比 完整工程链接(含verilog和Matlab代码): https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzkxNjM0NDk2Nw==&action=getalbum&album_id=340

IEEE 802.11标准

在IEEE 802.11标准中使用了扩频通信技术,主要作用是使得抗干扰性更强。 IEEE 802.11在MAC层采用了CSMA/CA协议。 IEEE 802.1x是一种基于端口认证协议。

802.11g组帧方式以及物理层收发过程简介

文章来源http://blog.csdn.net/CTO_51/article/details/8426771 从网络逻辑结构上来看,802.11g只定义了物理层及介质访问控制(MAC)子层。MAC层提供对共享无线介质的竞争使用和无竞争使用,具有无线介质访问、网络连接、数据验证和保密等功能。         物理层为数据链路层提供物理连接,实现比特流的透明传输,所传数据单位为比特

802.11之WEP

1、相关背景     WEP是一种可选的链路层安全机制,用来提供访问控制、数据加密和安全性检验等。其使用了RC4加密算法进行加解密,CRC进行校验。但随着技术的进步,WEP协议的缺陷逐渐暴露,出现了多种针对该协议的分析方法,FMS是重要的攻击方法之一。     起初,WEP标准被视为无线安全的解决方案。不过在802.11问世的前4年(1997年问世),研究人员发现WEP并不安全。但因为有时某

802.11 MAC层帧解析

注1:本文STA为station简称,AP为access piont简称。     注2:本文属于个人理解,存在错误望见谅和指正。 1.MAC帧格式 对应的数据结构如下: typedef struct _rtw_ieee80211_hdr_qos { __le16 frame_ctl; __le16 duration_id; u8 addr1[ETH_ALEN]; u

802.11无线网络权威——(二十、使用802.11接入点)

接入点是扮演无线与有线世界之间的桥梁。接入点至少具备两个网络接口: 1、其中无线接口通晓802.11相关细节。 2、另一个接口连接至有线网络。 所有无线接口都必须支持802.11信道访问的基本规则。 词汇: DHCP、网络地址转换(Network Address translation,NAT)、用户身份验证、Wi-Fi保护访问(Wi-Fi Protected Acces

802.11无线网络权威——(三、MAC基础)

MAC位于各式物理层之上,控制数据的传输。它负责核心成帧操作(core framing operation)以及与有线骨干网络之间的交互。 802.11采用载波监听多路访问 / 冲突避免(carrier sense multiple access with collisions avoided,简称CSMA/CA)机制。 802.11采用肯定确认(positive acknowled

802.11无线网络权威——(一二、导论)

第一章、无线网络导论 相比有线网络,无线网络的优点: 1、移动性。 2、部署容易,构建快速。(建筑影响) 3、灵活性。(hot spot 热点) 4、成本低。 在802.11网络中,基站又称为接入点(access point,AP)。然而不论有多少用户,无线网络基础建设在本质上并没有什么差异。要在某个地区提供无线网络服务,必须先将基站与天线摆放到位。一旦完成基础建设之