使用libpcap捕获Wifi数据包



我正在使用libpcap编写嗅探器程序。。对于初学者,我参考了来自不同程序员的关于如何使用Libpcap编写Basic Sniffer程序的网络教程。。它只捕获来自以太网连接的数据包。。。

我已经搜索了很多关于如何使用libpcap编写程序来捕获来自wifi连接的数据包。。。。但我没有得到任何能帮助我的东西。。。

我是否需要在我的系统中进行一些设置,以确保libpcap能够捕获数据包。。。因为方法pcap_lookupdev指向默认设备eth0

您需要将Wi-Fi设备的名称(可能是wlan0)硬编码到程序中,或者为其提供一个UI选项(命令行标志等),让用户指定要捕获流量的设备。

您的系统上没有任何设置会更改pcap_lookupdev()返回的设备。

Tcpdump和Wireshark/TShark/等。有一个-i命令行选项来指定要捕获的设备,Wireshark有一个GUI对话框来允许用户指定它。如果用户明确指定设备,它们就不依赖pcap_lookupdev()

请注意,如果您在Wi-Fi上进行捕获,默认情况下,您将只捕获进出机器的流量。如果你想捕获网络上的所有流量,包括往返于其他机器的流量,你需要在监视器模式下捕获;libpcap的较新版本具有支持该功能的API,但它们只能保证在OS X上运行(由于各种复杂的原因,它们可能在Linux上运行,也可能不在Linux上工作,考虑到设备名称eth0,我想你正在使用它;在修复之前,你需要使用aircrack ng之类的东西来打开监视器模式-有关信息,请参阅Wireshark Wiki中Linux上的WLAN捕获设置页面部分)。

最新更新