Wireshark 能抓取机器2到机器3通信的数据包吗?

Wireshark 能抓取机器2到机器3通信的数据包吗?

我知道有 3 台机器。机器 1、2 和 3。机器 2 ping 机器 1,我可以使用 tcpdump 捕获数据包。但是机器 2 ping 机器 3,然后机器 1 无法使用 tcpdump 捕获。这个过程和 wireshark 一样吗?当机器 2 和机器 3 之间发起通信时,机器 1 不会收到任何数据包。Wireshark 是一个与 tcpdump 相同的工具。当机器 2 和机器 3 通信时,不会有任何数据包到达机器 1。对吗?

为了更清楚起见,在机器 1 上打开两个终端,并在每个终端上启动 tcpdump,源为机器 2 和机器 3。保持这个状态几个小时,让我们分析数据包。所以我得出结论,wireshark 与 tcpdump 相同。它无法捕获从机器 2 到机器 3 的请求

tcpdump -n src host 192.168.1.m2 -w output-m2-and-m3.pcap

tcpdump -n src host 192.168.1.m3 -w output-m3-and-m2.pcap

请告诉我你的评论

答案1

machine 1不会注意到Wireshark 上machine 2和之间的任何通信。machine 3

Wireshark 连接到网络驱动程序堆栈并筛选该网络适配器接收的所有数据包。

在交换环境中,从machine 2到的数据包machine 3永远不会到达,machine 1因为交换机不会将这些数据包发送到所machine 1连接的端口。

在集线器环境中(好吧,谁真的会使用集线器?),数据包会machine 1像所有数据包一样被传输到与集线器相连的所有机器。但是,网卡可能会在数据包到达驱动程序堆栈之前在内部将其丢弃(因为它不是为该机器设计的),具体取决于网卡。无论如何,即使集线器仍在使用中,WireShark 也可能不知道这些数据包。

相关内容