首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IEEE802.11帧中找到封装协议?

如何在IEEE802.11帧中找到封装协议?
EN

Stack Overflow用户
提问于 2017-03-16 13:05:22
回答 2查看 1.3K关注 0票数 7

我正在使用IEEE802.11内部的libpcap和原始的C开发一个C框架解析程序。我可以很容易地解析RadioTapIEEE802.11头,但是无法找到封装在IEEE802.11 MPDU中的协议名。不幸的是,IEEE802.11头中没有任何字段指示封装的协议(如Ethernet头中的protocol字段)。

有解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-01 06:51:48

IEEE802.11数据包的数据封装在LLC报头中(参见这里):

一个802.11帧应该包含一个LLC标头,如果并且只有当它是一个数据帧的时候。帧类型和子类型是MAC头中帧控制字段的一部分;数据是帧类型值之一(其他值是Control和Management)。子类型并不重要--所有的数据帧都应该包含一个LLC报头,而其他任何帧都不应该包含。

有两种LLC头:3字节,8字节。IEEE 802.11使用第二个(参见这里)。在这一段中,LLC头的最后两个字节相当于Ethernet协议中的Ether Type字段。例如,这个字段的0x800就意味着IPv4

票数 2
EN

Stack Overflow用户

发布于 2017-03-24 21:47:35

对于封装数据的802.11帧,报头类型/子类型将介于0x200x2F之间(尽管该帧通常是0x20 (数据)或0x28 (QoS- data ))。将有一个5字节的SNAP报头,它将包含有效负载的类型(如这个答案中提到的)。如果OID ( SNAP头的前三个字节)是0x000000,那么接下来的两个字节就是以太网类型。

以太网类型将是0x888e for EAPoL (来源)。这是您要检查的字段,以了解封装的协议(0x0800用于IP,0x0806用于ARP,等等)。

这里有一个很好的关于以太网类型的思科文档,以及如何使用它们过滤某些协议:r1/br1fethc.pdf

这里有一个关于无线嗅探器跟踪的很好的思科文档,其中包括对802.11类型/子类型字段的描述:https://supportforums.cisco.com/document/52391/80211-frames-starter-guide-learn-wireless-sniffer-traces

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42834940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档