WireShark 可以用来收集同一网络上的数据包吗?

WireShark 可以用来收集同一网络上的数据包吗?

我正在尝试使用 Wireshark 嗅探数据包。但 Wireshark 仅收集连接到我的路由器的计算机的数据包。如果我知道计算机的 IP 地址,我可以嗅探该计算机的数据包吗?或者有什么方法可以嗅探未连接到我的路由器的计算机/设备的数据包?

答案1

Wireshark 可以在任何有数据包通过的接口上收集数据包。

  1. 如果您在 PC 等上运行 wireshark,那么您将从运行该程序的机器收集数据到网络上的任何其他机器。

  2. 如果该机器与任何其他机器之间有一个集线器,您还将看到其所有流量。(网络中现在很少存在集线器 - 不幸的是!)

  3. 如果您和另一台机器之间有交换机,您将只能看到来自另一台机器的广播流量。(如果它是托管交换机,您可以“镜像”一个端口以允许 wireshark“看到”通过该端口传输的所有数据包。

  4. 如果您在路由器上运行 wireshark,您将看到所有通过 wireshark 监听的接口的流量。例如,如果您有一个三端口路由器,有 lan1、lan2 和 wan,并且在 lan1 上监听,您将看不到 lan2 <> wan 的流量。但会看到 lan1 <> lan2 和 lan1 <> wan1

  5. 如果 lan1(作为 #4)连接到交换机(作为 #3),则同样适用于 #3

答案2

您的网络很可能已切换。这意味着(除了一些初始流量)单播数据包仅通过最直接的路由器从源到目的地。这意味着您必须成为中间人才能捕获流量。您目前正在路由器上运行,这意味着您可以访问所有非内部通信。

Wireshark 维基有一个很棒的页面,解释了为什么在交换网络中捕获数据包非常困难。最简单的方法是运行MITM 攻击使用 ARP 毒化攻击网络中的计算机:

这种攻击会欺骗两台计算机,使它们认为您的 MAC 地址是另一台计算机的 MAC 地址。这反过来又会使交换机将所有流量路由到您的计算机,您可以在其中嗅探它,然后将流量发送出去,就像什么都没发生过一样。

所以是的,如果你有一个特定的 IP 地址,你确实可以使用这种攻击。然而,在你的家庭网络之外这样做是不可取的,在某些国家甚至是非法的。

答案3

Wireshark 只会收集通过其以太网接口的数据包,因此它依赖于 LAN 部署。

例如,如果设备和路由器连接到转变,则Wireshark将只收集发往路由器的数据包、出路由器的数据包以及广播数据包。

如果设备和路由器连接到中心,则Wireshark会收集网络上的每一个数据包。

如果你在交换机上需要监控某个设备,那么企业交换机上有一项功能,可让你将一个端口上的所有流量复制到另一个端口上,我们可以称之为监控端口

您可以在监控端口并收集来自/发往该设备的每个数据包。

相关内容