我在openwrt中使用tcpdump来捕获所有发送的wifi数据包(探测请求/响应等等)。
tcpdump -i mon0 -e -tt
但我捕获的数据包没有我要查找的所有数据,例如数据包的信道
所以我试着把它保存到pcap文件
tcpdump -i mon0 -w capture.pcap
然后我在Wireshark中加载了这个pcap,所有丢失的数据都在那里 但是当我试图用Python解析它时,我没有设法找到那些数据。
有些人知道捕获所有数据包数据的最佳方法吗?
答案 0 :(得分:0)
mon0的数据链接类型(使用-y设置选项):IEEE802_11_RADIO(802.11 plus radiotap header)
然后原始数据包数据将以radiotap header开头,其中包含的字段(如果存在)表示:
请注意,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)
您将在根目录中找到您的日志文件。