假设 WireShark 安装在计算机 A 上。假设我在计算机 B 上观看 Youtube 视频。
WireShark 能看到计算机 B 在做什么吗?
答案1
一般来说,Wireshark 无法感知该流量。ErikA 解释了原因。
但是...如果您的网络支持,网络本身可以向计算机 A 显示计算机 B 的流量,然后 Wireshark 可以从那里抓取它。有几种方法可以将其获取到那里。
- 同样的 Switch,好方法如果两台计算机都在同一台网络交换机上,并且该交换机是可管理的,则可能可以将其配置为将计算机 B 端口的流量跨越/镜像/监控(术语随供应商而变化)到计算机 A 端口。这样计算机 A 上的 Wireshark 就可以看到流量。
- 同样的Switch,邪恶的方法如果两台计算机都位于同一个网络交换机上,并且该交换机不太安全,则可能会执行所谓的 ARP 欺骗攻击。计算机 A 发出一个 ARP 数据包,告诉子网它实际上是网关地址,即使它不是。接受 ARP 数据包的客户端会使用错误地址重写其 IP:MAC 地址查找表,然后继续将所有子网外的流量发送到计算机 B。要使此方法有效,计算机 B 必须将其发送到真正的网关。这种方法并不适用于所有交换机,并且某些网络堆栈会拒绝这种做法。
- 同一子网,邪恶方法如果路由器也不是很安全,ARP 欺骗攻击就会对整个子网起作用!
- 完全不同的子网如果计算机 B 位于完全不同的子网中,则唯一可行的方法是路由器核心支持远程监控解决方案。同样,名称各不相同,网络拓扑必须恰到好处。但这是可能的。
ARP 欺骗是没有特殊网络权限的计算机嗅探另一个网络节点流量的唯一方法,这取决于网络交换机是否防御此类操作。仅仅安装 Wireshark 是不够的,还需要采取其他措施。否则,只有当网络明确配置为允许其发生时,才会发生这种情况。
答案2
如果您在交换网络上(很有可能),并且除非计算机 A 作为计算机 B 的默认路由(不太可能),否则计算机 A 将无法看到发往计算机 B 的数据包。
答案3
正如 Farseeker 所暗示的,你曾经可以做到。十年前,许多网络使用集线器,它们类似于交换机,但更笨拙,因为它们将每个数据包反射到每个端口,而不是确定每个数据包需要去往何处并只将其发送到那里。在那之前,一些网络使用同轴以太网和一条公共电缆(没有集线器或交换机),每个站点都通过该电缆进行广播和收听。
在上述两种情况下,装有 Ethereal(Wireshark 的旧名称)的机器确实可以监视整个网络。
尽管如今这种情况只适用于很少的网络,但我提到它是为了说明背景并理解为什么使用 Wireshark 监视他人的想法仍然留在许多人的脑海中。
皮特
答案4
如果我们无论如何都要提到邪恶的方法:使用一些非托管交换机过载,CAM 表据称可以工作,并且据 IIRC 记录在 tcpdump 文档的某处。