如何在python中使用pcap来捕获同一wifi中的其他流量?

时间:2015-11-13 06:04:52

标签: python pcap packet-capture sniffing

这是我第一次在pcap中使用监控模式。我想我已成功启动监控模式,因为我可以看到wifi上有一个“眼睛”符号。 但是,我仍然无法捕获未发送给我的数据包:( 我使用句柄但不确定它是如何工作的,我如何捕获那些未发送给我的数据包。

2 个答案:

答案 0 :(得分:0)

路由器通常会将数据包发送给您,并发送给您。这包括直接向您发送数据包或广播消息。发送到网络中其他设备的消息根本没有到达您的计算机,因此无法捕获它。

如果你真的需要监控整个网络流量,你需要到达路由器和网络之间的某个位置。或者你可以尝试一个男人在你的无线网络中间攻击。

答案 1 :(得分:0)

PCAP只会显示发送给您的流量。任何嗅探器都是如此,软件需要能够看到流量。为了查看未发送给您的WiFi流量,您需要一个支持监控模式的WiFi适配器。大约90%的WiFi适配器或更多不支持监控模式。两个硬件都必须能够进入RFMON模式,并且适配器的驱动程序需要支持监控模式。如果监控模式设置正确,您将看到802.11管理流量(信标,探测器等)。我不认为监控模式会向您显示实际的数据流量,但我不确定,也许它只是我的适配器没有显示它。如果您可以看到源和目标MAC地址不是适配器的MAC地址而不是FF:FF:FF:FF:FF:FF(广播)的数据,而不是使用监控模式的数据。我不知道你正在使用哪个操作系统,我不知道手柄是什么(程序名称?)所以我无法帮助那里。我建议您将适配器设置为监控模式,然后通过在设备上运行wireshark进行验证并查看流量。如果可行,您可以返回PCAP并从那里进行调试。

如果您使用的是Linux且适配器支持监控模式,则可以通过以root身份运行以下命令来启用它

ip link set wlan0 down iwconfig wlan0 mode monitor ip link set wlan0 promisc on ip link set wlan0 up

请注意,如果适配器处于监控模式,则无法连接到本地WiFi网络。适配器需要处于托管模式,其中WiFi AP管理适配器接收的数据类型(频率,信道等)。如果您通过适配器连接到本地WLAN而不是处于监控模式。

哦!我想我记得在某个地方听说WinPCAP不支持监控模式。我不使用Windows,因此您可能需要验证。