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

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

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

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

这真的可能吗,还是网络彻底崩溃了?

答案1

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

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

当表不够大,无法存储所有关系(交换机内存不足)时,此算法就会失效。在这种情况下,交换机会丢失信息并开始向所有端口发送数据包。这很容易做到(现在您知道如何破解您的网络了),只需从单个端口伪造大量具有不同 MAC 的数据包即可。也可以通过伪造具有您要监视的设备的 MAC 的数据包来实现,然后交换机将开始向您发送该设备的流量。

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

编辑:

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

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

答案2

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

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

抑制数据包从“错误”端口发出是交换机在可能的情况下使用的一种优化方法。这不是安全功能。托管交换机通常提供实际的端口安全性。

答案3

ARP 缓存中毒可能正在起作用。这是一种用于嗅探交换网络的技术,通常是恶意的。这是通过使网络上的每台机器相信其他每台机器都有您的 MAC 地址(使用 ARP 协议)来实现的。这将导致交换机将所有数据包转发到您的机器 - 您需要在分析后将它们转发。这通常用于中间人攻击,并且在各种嗅探工具(如 Cain & Abel 或 ettercap)中可用。

相关内容