Wireshark如何查看所有网络流量?

How can Wireshark view all network traffic?

假设我 运行 我的 PC 上有 Wireshark,并且我已连接到路由器,Wireshark 如何知道来自该路由器的所有流量?

路由器不是应该隔离每个客户端并只路由它们自己的数据吗?幕后究竟发生了什么?

将数据包隔离到端口是交换机的功能。 集线器将数据包发送到所有端口。

但是您的路由器也充当交换机。您可以将设备放在路由器前面并从那里嗅探。该设备需要是集线器、带监控端口的交换机或分离器。 或者您可以使用 arp 欺骗来操纵网络中计算机的 arp 表。但这大多被认为是攻击。

干杯, 克里斯

Suppose I run Wireshark on my PC, and I'm connected to a router, how can Wireshark know about all the traffic from that router?

如果您有一个连接到多个 LAN 的路由器,那么 Wireshark 运行 在连接到其中一个 LAN 的机器上,不能 知道所有来自路由器的流量,除非路由器已配置为,对于否则不会路由到该 LAN 的流量,将在该 LAN 上发送数据包的副本。

如果你说的是 LAN 交换机,那么插入交换机的所有东西都在同一个 LAN 上,情况类似 - 必须配置交换机将流量副本发送到机器 运行 Wireshark 插入的交换机端口。

执行此操作的能力是高端交换机的常见功能;端口可以​​配置为 "mirror port"。有关详细信息,请参阅 the Wireshark Wiki page on Ethernet capture setup。我不知道是否有任何路由器提供 "port mirroring".

的等价物