如何监控局域网上两个设备之间发送的数据包?

如何监控局域网上两个设备之间发送的数据包?

我正在尝试确定我的 wifi 网络上两个设备之间通信问题的原因。我无法在它们上安装程序来确定这个问题。

我如何监控这两个设备之间的流量?

答案1

首先,我们应该知道我们要嗅探什么样的数据包。下面的解释假设你对嗅探感兴趣传输层及以上。此外,我还假设您有一个典型的网络结构,其中有一个 AP,它位于两个设备通信的中间。

如果你有其他 Linux OS 机器,可以安装程序,那么这是可能的。假设你已经在网络中有第三台机器(嗅探器),你应该安装ARP欺骗wireshark

sudo apt-get 安装 arpspoof

sudo apt-get 安装 wireshark

现在你应该允许流量通过你的嗅探设备:

echo 1 > /proc/sys/net/ipv4/ip_forward

之后,我们将开始欺骗 AP 设备和我们的两台机器中的一台(我们将其称为目标设备)。我们将打开 2 个终端,并在每个终端窗口上写入以下命令之一:

arpspoof -i XXX -t YYY ZZZ

arpspoof -i XXX -t ZZZ YYY

其中 XXX 为接口名称我们将接收数据包的嗅探机。另一方面,在 YYY 上我们将写入目标 IP在 ZZZ 中网关 IP。完成后,我们将必须打开 wireshark 并开始嗅探我们在命令行中编写的接口。然后,我们应该开始看到从目标设备到网关设备的数据包。

如果您想了解更多信息,您可以在谷歌上搜索“中间人攻击”。我在这里解释的是使用 ARP 欺骗的中间人攻击。还有其他方法可以做到这一点。

最后,如果你想嗅探 链路层及以下你可以安装空军基地首先启动主接口 ifconfig wlan0 up,然后在您的网络通道上启动监控模式接口。

airmon-ng 启动 wlan0 通道

其中 CHANNEL 是一个数字。之后

airbase-ng -c 通道 -e mon0

如果我们写入,iwconfig我们将看到新的接口 mon0。现在安装 wireshark(如果你还没有安装),然后启动 wireshark 并嗅探星期一接口,然后,我们应该看到进出该卡的所有数据包或帧。

希望能帮助到你。

答案2

使用 Wireshark。

转到“显示捕获选项”。 菜单

找到您的 Wi-Fi 适配器并双击它。 捕获选项

配置窗口将会出现。标记Capture packets in monitor mode。启用此选项后,您的适配器将捕获其可以听到的所有 Wi-Fi 流量,而不仅仅是发送给您的流量。 界面设置

之后单击OK保存更改并单击Start捕获选项窗口。您将看到所有到达您的 Wi-Fi 流量。调整频道(频率)以匹配您的设备使用的频道。 频率配置

加密网络

如果您调试加密的 Wi-Fi 网络,那么您可以告诉 Wireshark 所需网络的 SSID 和密码,它将解密数据包,以便您检查它们。

Wireshark 维基描述此过程。

Wireshark 可以在预共享(或个人)模式下解密 WEP 和 WPA/WPA2。尚不支持 WPA/WPA2 企业模式解密。

简而言之:

  1. 转到编辑->首选项->协议->IEEE 802.11。
  2. 以以下形式添加 SSID 和密码wpa-pwd:MyPassword:MySSID

WPA 和 WPA2 使用从 EAPOL 握手(当机器加入 Wi-Fi 网络时发生)派生的密钥来加密流量。除非您尝试解密的会话中存在所有四个握手数据包,否则 Wireshark 将无法解密流量。您可以使用显示过滤器 eapol 来查找捕获中的 EAPOL 数据包。

确保你理解这一点:

WPA 密码和 SSID 首选项允许您使用 URI 样式的百分比转义对不可打印或其他麻烦的字符进行编码,例如使用 %20 表示空格。因此,您必须使用 %25 对百分比字符本身进行转义。

有了它,您就可以监控 Wi-Fi 流量。

相关内容