2

最近我决定仔细研究 tcpdump 文件格式(即 pcap)的有效负载字节,我意识到它们没有意义。这些是在 OS/X 上收集的。

它们绝对总是以 00 00 开头。

有效载荷长度通常在 39 字节、310 字节、1500 字节左右。

查看字节,它们通常以 00 00 19 00 6f 08 00 00 或 00 00 24 00 0b 00 0c 00 开头。

它们似乎不是以以太网帧、IP 前导码、UDP 标头、TCP 标头或任何其他预期数据开始的。当我在数据中搜索我的 IPv4 MAC 地址时,我经常会找到它,但并非总是如此。与 IPv6 地址相同。当我在数据中搜索我的 IP 地址时,同样的处理。

许多数据包似乎涉及搜索或获取有关其他 Wifi 网络的信息。

其中大部分似乎是识别我周围的(许多)Wifi路由器的操作,但我不知道该数据的格式。

谁能指出有效载荷字节的技术解释?谢谢。

我还应该补充一点,tcpdump 本身无法读取这些在 OS/X 上生成的 pcap 文件。生成它们的命令是

 /usr/sbin/tcpdump -s 0 -w output.pcap -vv -In -i en1

并且其他人推荐的以下命令无法正确转储它们:

 tcpdump -qns 0 -X -r output.pcap | less

事实上,它会生成提及“tsft 1.0 Mb/s 2452 MHz 11g -78dB 信号 -91dB 噪声天线 0 信标”的行。

4

1 回答 1

2

事实上,它会生成提及“tsft 1.0 Mb/s 2452 MHz 11g -78dB 信号 -91dB 噪声天线 0 信标”的行。

那有什么问题?它以应有的方式剖析radiotap标头。

您使用-I标志捕获,这意味着您在监控模式下捕获。默认情况下,在 OS X 上(大多数情况下在 Linux 和 *BSD 上),它使用 radiotap 标头捕获,提供无线电层元数据。

pcap 文件在文件头中有一个“linktype”值;对于捕获流量的每个网络接口,pcap-ng 文件的每个接口描述块中都有一个“linktype”值。这些值在 tcpdump.org 网站的链路层头类型页面上进行了描述。您的捕获可能具有 127 的链路层标头类型值,即 LINKTYPE_IEEE802_11_RADIOTAP,并且数据包以 radiotap 标头开头,然后是 802.11 帧。

它们绝对总是以 00 00 开头。

那是it_versionradiotap头的字段,后面是it_pad字段;当前存在的唯一版本的 radiotap 标头是版本 0,并且填充字段几乎总是如果不总是设置为 0(其值无关紧要)。

查看字节,它们通常以 00 00 19 00 6f 08 00 00 或 00 00 24 00 0b 00 0c 00 开头。

和是19 0024 00字节it_len字段;它是 little-endian,所以19 000x0019,或 25,24 00是 0x0024,或 36。(19 00有点可疑,因为它不是 4 的倍数。)这是 radiotap 标头的长度。

于 2013-09-03T21:31:59.107 回答