openwrt中的网络监视器

时间:2015-11-11 12:27:28

标签: python scapy tcpdump openwrt

我在openwrt中使用tcpdump来捕获所有发送的wifi数据包(探测请求/响应等等)。

tcpdump -i mon0 -e -tt

但我捕获的数据包没有我要查找的所有数据,例如数据包的信道

所以我试着把它保存到pcap文件

tcpdump -i mon0 -w capture.pcap

然后我在Wireshark中加载了这个pcap,所有丢失的数据都在那里 但是当我试图用Python解析它时,我没有设法找到那些数据。

有些人知道捕获所有数据包数据的最佳方法吗?

3 个答案:

答案 0 :(得分:0)

  

mon0的数据链接类型(使用-y设置选项):IEEE802_11_RADIO(802.11 plus radiotap header)

然后原始数据包数据将以radiotap header开头,其中包含的字段(如果存在)表示:

  • 频道(Channel,其中包含频道频率,而不是频道编号,或XChannel,其中包含两者 - 标头可能包含频道 XChannel)
  • 信号强度,单位为dBm(Antenna signal),或信号强度,以dB为单位,来自某个任意参考点(dB antenna signal)。

请注意,radiotap标头不易解析。

radiotap头部在开始时有一个长度字段,它是一个小端值。它表示整个标题(包括所有字段)的持续时间。

在radiotap标头之后,将有一个802.11标头,它将包含源和目标MAC地址。请参阅the IEEE 802.11 specification

答案 1 :(得分:0)

当您使用tcpdump -i mon0 -e -tt命令时,tcpdump读取使用libcap的原始数据并在控制台上转换为可读信息打印。在此期间,某些信息可能会丢失。

您可以查看Tcpdum的源代码以获取更多信息。

同时尝试-vvv参数以获得更详细的输出。

答案 2 :(得分:0)

我提到了这个链接,我想这会解决你的问题。

https://forum.openwrt.org/viewtopic.php?id=54048

我使用了上面链接中给出的信息,但我想知道哪个IP地址访问哪个网站,没有任何额外的软件包安装,只需在/etc/dnsmasq.conf文件中添加3行,即

log-queries             
log-facility=/root/dnslog.txt       
log-async=10       

并重新启动dnsmasq(/etc/init.d/dnsmasq restart)
您将在根目录中找到您的日志文件。

相关问题