Linux 监视器模式界面上的tcpdump-未捕获任何内容

Linux 监视器模式界面上的tcpdump-未捕获任何内容,linux,wireless,wireshark,libpcap,tcpdump,Linux,Wireless,Wireshark,Libpcap,Tcpdump,我一直在使用tcpdump(版本4.1.1)尝试从由设置的接口捕获无线帧。我说“尝试”,因为到目前为止还没有发生任何事情。这很奇怪: tcpdump-imon0 上述命令工作正常。我看到所有的信标和探测请求,以及屏幕上可以想象的每一帧。但是,当我尝试使用将输出写入捕获文件时 tcpdump-imon0-w捕获。cap 绝对不会捕获任何内容,包括包含实际数据的第3层数据包。当我杀死tcpdump时,它给了我 捕获的13507个数据包 过滤器接收到13507个数据包 内核丢弃了0个数据包 (在本例中

我一直在使用tcpdump(版本4.1.1)尝试从由设置的接口捕获无线帧。我说“尝试”,因为到目前为止还没有发生任何事情。这很奇怪:

tcpdump-imon0

上述命令工作正常。我看到所有的信标和探测请求,以及屏幕上可以想象的每一帧。但是,当我尝试使用将输出写入捕获文件时

tcpdump-imon0-w捕获。cap

绝对不会捕获任何内容,包括包含实际数据的第3层数据包。当我杀死tcpdump时,它给了我

捕获的13507个数据包
过滤器接收到13507个数据包
内核丢弃了0个数据包

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

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

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


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

似乎有点不对劲。在我的Ubuntu上,以下功能运行良好

sudo tcpdump -w ./test.cap
也许你可以试试

sudo tcpdump -U -w ./test.cap

JP

您试过airodump ng吗


不确定它是否使用libpcap作为捕获库,但它使用pcap文件格式,并且有许多用于频道选择、bssid筛选等的选项。

您没有指定接口。你确定你从mon0获得数据吗?对不起,三年后,不,我不确定。