监视器模式接口上的Tcpdump -没有捕获任何内容



我一直在使用tcpdump(版本4.1.1)来尝试从由airmon-ng设置的监视器模式接口捕获无线帧。我说"尝试"是因为到目前为止什么都没发生。这很奇怪:

tcpdump -i mon0

上面的命令可以正常工作。我看到所有的信标和探测请求以及所有其他可以想象的帧显示在我的屏幕上。但是,当我尝试使用

将输出写入捕获文件时

tcpdump -i mon0 -w captures.cap

绝对没有被捕获,包括包含实际数据的第三层数据包。当我终止tcpdump时,它给我

13507 packets captured
13507 packets received by filter
0 packets dropped by kernel

(在本例中,13507是一个任意数字)和一个完全空的捕获文件。

但是,当我在同一接口上使用tshark或wireshark执行捕获时,帧被捕获到文件中没有任何问题。

我更喜欢使用tcpdump而不是wireshark,因为它没有GUI的开销,并且它有"-z"选项,允许我将捕获文件传递给shell脚本,该脚本将其复制到我网络上的另一台计算机上。tshark或wireshark没有类似的功能,我非常希望避免编写程序来检查是否存在捕获文件。

我是否对tcpdump的工作方式有一个根本性的误解,或者这里肯定有什么奇怪的事情发生?是否有更好的方法来完成我正在做的事情,或者我将不得不编写自己的基于libpcap的捕获程序?

你试过空运吗?

不确定它是否使用libpcap作为捕获库,但它使用pcap文件格式,并有许多通道选择,bssid过滤等选项

似乎有什么问题。在我的Ubuntu上,下面的工作很好。

sudo tcpdump -w ./test.cap

也许你可以试试

sudo tcpdump -U -w ./test.cap

JP

相关内容

最新更新