问题标签 [radiotap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
414 浏览

python - 我应该如何修改 radiotap.py 来处理 XChannel、MCS 和 VHT 字段?

我正在尝试确定 802.11 协议变体 - 从由 wireshark 创建的 PcapNG 跟踪文件(参见StackOverflow 上的相关问题和 StackOverflow上的另一个相关问题)。

捕获数据包的接口的链路层标头类型是 LINKTYPE_IEEE802_11_RADIOTAP (127),因此我可以使用radiotap.py提取Channel 字段,从而检查 802.11 协议变体是 a、b 还是 g。

但是,要检查我是否有 802.11n 或 802.11ac,我需要访问XChannel / MCSVHT字段。
这些字段在radiotap.py中没有定义,这意味着我需要扩展radiotap.py的功能。parse

我尝试过但失败了:我怀疑我将对齐/结构设置错误(或其他一些晦涩的错误)并且现有的radiotap.py代码对我没有多大帮助。

谁能建议我应该在radiotap.py中进行哪些更改,以便它能够识别XChannelMCSVHT字段?


示例 PcapNG 跟踪文件在此处

我的 Python 代码是:

它的输出是:

0 投票
0 回答
376 浏览

c - 使用 pcapsendpacket 在 C 中发送 80211 帧时的问题

我正在尝试使用 pcap_sendpacket 和以下 radiotap 发送 802.11 帧:

我还使用了 include/linux/ieee80211.h 中定义的 802.11 标头:

使用 Wireshark 捕获帧时,它看起来像一个以太网帧,其中 radiotap 标头被称为以太网标头。

我在某个地方犯了错误吗?问候

0 投票
0 回答
83 浏览

c - 无法在 pcap_sendpacket 中指定 radiotap_header 的数据速率

我正在尝试使用 pcap_sendpacket 通过 WiFi 发送原始帧。因此,我为此使用了标准的 radiotap_header,并指定了数据速率(我尝试了 2 Mbs、5 Mbs)。但是,WiFi 接口似乎没有考虑到这个速率,总是以 1 Mb/s 的速度发送。我可以在wireshark上看到这个。有没有办法以更高的速率发送帧?

0 投票
1 回答
352 浏览

linux-device-driver - 为什么我的 ath9k 生成的 RadioTap 标头格式错误?

我在 Ubuntu 16.04(4.4 内核)上使用 scapy 收集 802.11 数据包。我的数据包的 RadioTap 标头具有以下当前标志:

鉴于 RadioTap 的描述,我希望 Channel 从标头和前面的字段之后的第 10 个字节开始(8 个用于 TSFT + 1 个用于标志和速率)。通道的对齐方式为 2,因此不需要填充。然而,这就是数据包的未解码部分中的内容:

在这种情况下,通道号实际上出现在字节 18-19 ('l\t' = 2412),我不确定哪个字节包含 dBm 信号强度。

任何人都知道我错过了什么?

0 投票
0 回答
3541 浏览

wifi - scapy 中的 RadioTap 标头

我正在尝试使用 scapy 发送和接收数据包并读取 RadioTap Header。无线适配器(和驱动程序)能够处理这些标头,但我似乎无法获得它们。

pkt.haslayer(RadioTap)每当我在 scapy 中发送一个普通数据包时,它都不包含这样的标头(因此,嗅探数据包并使用 return 检查一个数据包0,并且我无法像 with 那样显示标头pkt[RadioTap].show())。如果我用 RadioTap 头显式构造我的数据包(比如在 a 中 pkt = RadioTap()查看它,我可以获得一个 RadioTap 头,但它是空的。发送和接收它之后,我仍然什么也得不到。

我读过这样帖子。但是我没有 RadioTap 标头没有被解码的问题,它根本没有填充任何东西。

我正在使用 scapy 2.3.1,如果这有什么不同的话。有任何想法吗?

0 投票
1 回答
384 浏览

c - 将数据包(PCAP、WLAN、C)发送到接收方,无需连接即可接收

我计划通过无线电使用 Wi-Fi 来导航我的无人机。我想将数据包从笔记本电脑发送到无人机。目前我可以发送数据包,但前提是 Wi-Fi 卡处于监控模式。

是否可以设置我的标头,以便 Wi-Fi 卡在不处于监控模式的情况下接收数据包,如果可以,我该如何实现?还是我被迫过滤空气中的所有数据包?

问候, Kokos Bot。

我的系统:

发件人:带有 PCAP 的 Linux 64 位,用于我在 C 中的发送程序

接收器:R-Pi2

我在发送端和接收端都使用 TL-WN722N。

0 投票
1 回答
553 浏览

mininet - Mininet/Wifi:Radiotap 捕获的 RSSI 在模拟站点移动性时没有变化

使用Mininet for Wifi的 Python API 我正在模拟一个 AP 和两个站点。AP 位于“0,0,0”,sta1 位于“0,10,0”。我在 '0,50,0' 到 '0,150,0' 的线上来回移动 sta2。另外,我在创建 Mininet 时配置了一个额外的无线电。然后在另一个窗口中,我将额外无线电的 wlan 接口置于监控模式,并使用 tcpdump/Wireshark 捕获 wifi 流量。

我期待看到 Radiotap 标头中的 RSSI 随着 sta2 在 50 到 150 米之间移动而变化。但我看到每个站的 RSSI 固定在 30 和 36dBm。我错过了什么,为什么 SSI 没有像我认为的那样改变?是因为 mac80211_hwsim 或 Mininet 本身的一些限制,还是我的期望不正确?

测试 Python 程序在这里,为 ping 捕获的 tcpdump/Wireshark 在这里。请注意,在捕获中,我已经过滤掉了信标以将检查的数据包保持在最低限度。鉴于较大的文件大小,我提供了指向您可以下载两个相关文件的位置的指针。

0 投票
1 回答
429 浏览

python - 使用 dpkt 数据包解析为 radiotap 标头计算数据速率

我需要计算给定数据包的数据速率,该数据包是使用 pcapy 捕获的。我使用 dpkt 来获取 radiotap 标头,如下所示:

现在我需要访问数据速率,并且我(错误地)假设 Radiotap 对象上可用的速率就是这个。但是,它不是或至少它只是返回 0 或 1。

那么我如何从已有的信息中计算数据速率dpkt.radiotap.Radiotap呢?或者信息实际上已经在 dpkt 中了,但我只是错过了它吗?

0 投票
0 回答
295 浏览

linux - 如何在 raspbian 上包含 linux 头文件(cfg80211.h)?

我正在编写一个嗅探工具,我想使用它的原型在 net/cfg80211.h 中可用的无线电抽头解析器 (radiotap.c)

我包含了标头,但是在编译时我得到了没有这样的文件或目录的错误。

现在我下载了几个 linux-headers(如 linux-headers-4.4.0-1-common)并使用了 make headers_install 但编译时仍然找不到头文件,因为它没有复制到任何指定为包含路径的目录中. 我必须手动执行此操作吗?

我尝试的另一件事是使用 -I 将路径添加到我的 make 文件中(直接进入 /usr/src/linux-headers-xyz/include 目录)。但后来我得到了其他头文件丢失的错误(cfg80211.h 包含的那些)所以我认为这不是正确的方法,因为我必须手动包含更多的头文件。

我错了吗?我已经用谷歌搜索了很长一段时间,对我来说似乎使用“make headers_install”应该可以解决问题——它不适合我。