集线器和交换机

Uncategorized计算机

集线器(hub)可连接多台计算机终端并支持其互相通信。假设终端A、终端B、终端C通过hub相连。当终端A需要和终端B通信时,其会将信息打包并附上源MAC地址和目标MAC地址发送给hub,hub则会通过广播的形式将终端A的数据包发送给终端B和终端C。终端B在查看目标MAC地址为自己后则会接收该数据包。对于终端C,在正常模式下,其在接收到该数据包后会丢弃。如果设置为混杂模式后,则终端C也会接收到该数据包,从而造成风险。此外,随着终端的增加,hub的通信负担增加,会出现广播风暴。

交换机(Switch)则是为解决广播风暴和信息泄露风险而出现的。交换机内部维护着一张MAC地址表,记录着该局域网内每台终端的MAC地址和端口号。其形成过程如下:终端A发送消息给终端C,终端A会在数据包上附上源MAC地址和目标MAC地址,交换机则会将终端A的MAC地址和其端口号记录下来。如果此时交换机尚未记录终端B的MAC地址和端口号,则会同集线器一样通过广播模式发送该数据包。如果此时交换机已记录终端B的MAC地址和端口号,则会将数据包直接发送给终端B,且不会将该数据包发送给其他任何终端。

利用交换机的MAC地址表形成机制,可以有两种攻击模式:

假设终端B(端口号为2)和终端C(端口号为3)位于同一局域网内。此时已成功控制终端B,则可以篡改终端B的MAC地址为终端C的MAC地址:

1.如果将终端B伪装成终端C持续向交换机发送大量数据包,当终端B发送的数据量超过终端C时,交换机则会更改其MAC地址表,将终端C的MAC地址对应的端口号改为2。此时,终端B则已成功取代终端C,后续则可以实施钓鱼攻击。

2.如果将终端B伪装成终端C间歇性向交换机发送大量数据包,则终端B则可以在一段时间内取代终端C,从而获取到其他终端发给终端C的数据包。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注