网络嗅探软件如何在交换机上工作?

Can*_*ğlu 21 networking switch packet-sniffer

我们在网络中有几个标准的非托管 3com 交换机。我认为交换机应该只在连接的对等点之间发送包。

然而,在连接到任一交换机的计算机上运行的网络嗅探软件似乎能够检测连接到网络上其他交换机的其他主机的流量(即 YouTube 视频流、网页)。

这甚至可能还是网络彻底损坏?

jfg*_*956 23

为了完成 David 的回答,交换机通过查看端口上接收到的数据包的 MAC 地址来了解谁在端口后面。当交换机通电时,它什么都不知道。一旦设备 A 从端口 1 向设备 B 发送数据包,交换机就会获知设备 A 在端口 1 之后,并将数据包发送到所有端口。一旦设备 B 从端口 2 回复 A,交换机仅在端口 1 上发送数据包。

此 MAC 到端口的关系存储在交换机的表中。当然,许多设备可以位于单个端口后面(例如,如果将交换机插入该端口),因此可能有许多 MAC 地址与单个端口相关联。

当表的大小不足以存储所有关系(交换机中没有足够的内存)时,该算法就会中断。在这种情况下,交换机会丢失信息并开始向所有端口发送数据包。这可以通过从单个端口伪造大量具有不同 MAC 的数据包轻松完成(现在您知道如何入侵您的网络)。也可以通过使用您要监视的设备的 MAC 伪造数据包来完成,交换机将开始向您发送该设备的流量。

管理型交换机可以配置为接受来自端口的单个 MAC(或固定数量)。如果在该端口上发现更多 MAC,交换机可以关闭该端口以保护网络,或向管理员发送日志消息。

编辑:

关于 youtube 流量,上述算法仅适用于单播流量。以太网广播(例如 ARP)和 IP 多播(有时用于流媒体)的处理方式不同。我不知道 youtube 是否使用多播,但在这种情况下,您可以嗅探不属于您的流量。

关于网页流量,这很奇怪,因为 TCP 握手应该正确设置 MAC 到端口表。要么网络拓扑级联了很多非常便宜的交换机,小表总是满的,要么有人在搞乱网络。


Dav*_*rtz 6

这是一个普遍的误解。除非它是静态配置的,否则交换机必须通过每个端口发送每个数据包,它无法证明它不需要发送该数据包。

这可能意味着数据包只会发送到包含目标设备的端口。但情况并非总是如此。例如,考虑交换机收到的第一个数据包。它怎么知道将它发送到哪个端口?

禁止在“错误”端口上发送数据包是交换机在可能时使用的优​​化。这不是安全功能。管理型交换机通常提供实际的端口安全。

  • 您正在寻找的短语是“帧泛滥到未知目的地”。 (4认同)