1000 余台电脑,按照每个楼层划分成不同 VLAN ,简易拓扑如图。中心交换机使用的是 3COM 7700 ,在 7700 上划分 VLAN ,楼层交换机使用 3COM 4400 ,终端计算机用户与楼层交换机相连。访问策略要求各个 VLAN 之间不能访问, VLAN 内的终端用户可以相互访问。每台计算机使用 DHCP 的方式获取 IP 地址以及 DNS 网关。各个 VLAN 的网关由中心交换机统一设置,使用中心交换机默认的 MAC 地址。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 2688245344c4934da7.gif
 
故障现象
最近,部分用户反映频繁掉线,局域网与 Internet 链接速度突然变慢甚至断开。重新启动后工作正常,但是工作一段时间以后,故障重现。
出现故障的用户都是集中在物理建筑的 7 层,对应的 VLAN 就是 VLAN 7 。其他 VLAN 内没有发现类似状况,初步认为可能是病毒或***造成的网络堵塞,出现问题可能是 VLAN 7 内的用户。
VLAN 7
网关的 IP 地址为: 192.168.61.202 ,对应的 MAC 地址为: 00-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />20-9-c-69-32-3f
VLAN
内的用户使用 DHCP 的方式获得 IP 地址,即动态获取。

故障排除
对故障机进行分析
在出现故障的用户计算机上使用 DHCP 获取的 IP 地址正常,使用 ipconfig/release 释放 IP 地址后,使用 ipconfig/renew 重新获取 IP 地址。
使用 MAC 地址解析工具解析 MAC 地址,在命令行模式下输入 “Arp -a”, 在没有出现故障的计算机上执行同样命令比较,发现两台计算机解析网关获取 MAC 地址不同。
使用局域网查看工具( LanSee )扫描 VLAN 7 下所有用户的 IP 地址和 MAC 地址,发现故障机 MAC 地址为 00-01-02 -96-A8-24, 对应的 IP 192.168.61.49 ,用户名为 ww ,而非正常的网关 MAC 地址 00-20-9c-69-32-3f ,也就是说用户 ww MAC 地址被可疑程序绑定成默认的 VLAN 网关,屏蔽了正常中心交换机默认的网关。

将故障机的网关绑定为正常网关
在故障机上安装 “Anti ARP Sniffer”arp 检测工具,启用 获取网关 MAC 地址 启用自动防护 功能,可以监测到欺骗源。立即进行测试,发现有机器正在***本台机器。
从日志列表中看到目前此计算机正在遭受 MAC 非法***,而且来源都是同一台计算机。由此可以断定,在 VLAN 中的 ARP 欺骗是由 MAC 地址为 00-01-02 -96-A8-24 的机器发出的。
定位到欺骗源以后,找到用户为 WW 的计算机,拔掉网线,继续监测, “Anti ARP Sniffer”arp 检测工具没有检测到欺骗数据包。
将故障机断开网络后,使用防病毒软件对机器进行杀毒,清除***,完成后接入网络,跟踪监测一段时间之后,没有发现类似的故障。

2688245344c4938c55.gif

欺骗机理
在局域网中,通过 ARP 协议来完成 IP 地址转换为第二层物理地址(即 MAC 地址)。通过伪造 IP 地址和 MAC 地址实现 ARP 欺骗,能够在网络中产生大量的 ARP 通信量使网络阻塞。  
ARP
协议是 “Address Resolution Protocol” (地址解析协议)的缩写。在局域网中,网络中实际传输的是 ,帧里面有目标主机的 MAC 地址。在局域网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC 地址。但目标 MAC 地址如何获得呢?它就是通过地址解析协议获得的。所谓 地址解析 就是主机在发送帧前将目标 IP 地址转换成目标 MAC 地址的过程。 ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,保证通信的顺利进行。
以主机 A 192.168.100.1 )向主机 B 192.168.100.2 )发送数据为例。当发送数据时,主机 A 会在自己的 ARP 缓存表中寻找是否有目标 IP 。如果找到了,也就知道了目标 MAC 地址,直接把目标 MAC 地址写入帧里面发送就可以了;如果在 ARP 缓存表中没有找到相对应的 IP 地址,主机 A 就会在网络上发送一个广播,询问目标 IP MAC 地址,网段内的所有主机都会收到这个询问,但网络上其他主机并不响应 ARP 询问,只有主机 B 接收到这个帧时,才向主机 A 做出这样的回应。这样,主机 A 就知道了主机 B MAC 地址,它就可以向主机 B 发送信息了。同时它还更新了自己的 ARP 缓存表,下次再向主机 B 发送信息时,直接从 ARP 缓存表里查找就可以了。
ARP
缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少 ARP 缓存表长度,加快查询速度。
ARP
协议的基础就是信任局域网内所有的人,那么就很容易实现在局域网上的 ARP 欺骗。对目标 A 进行欺骗, A Ping 主机 C 却发送到了 DD-DD-DD-DD-DD-DD 这个地址上。如果进行欺骗的时候,把 C MAC 地址欺骗为 DD-DD-DD-DD-DD-DD ,于是 A 发送到 C 上的数据包都变成发送给 D 的了。
由于 ARP 欺骗的***程序发作时会发出大量的数据包导致局域网通讯拥塞,加上其自身处理能力的限制,用户会感觉上网速度越来越慢。当 ARP 欺骗的***程序停止运行时,用户会恢复从默认的网关上网,用户重启动机器就可以恢复正常。

MAC 地址解析工具 ——ARP
ARP (地址转换协议)是 TCP/IP 协议簇中的一个重要协议,通常用来确定对应 IP 地址的网卡物理地址、查看本地计算机或另一台计算机的 ARP 高速缓存中的当前内容,以及用来将 IP 地址和网卡 MAC 地址进行绑定等。

2688245344c493af93.gif

查看 IP-MAC 对照表
在系统的 ARP 高速缓存中,记录了 IP MAC 地址的对应数据,可通过 arp -a 命令来获得已经绑定的 IP MAC 地址,其中 “static” 表示该数据是静态的, “dynamic” 表示该数据为动态的,动态数据在下次启动时会消失。
按照缺省设置, ARP 高速缓存中的项目是动态的,每当发送一个指定地点的数据包且高速缓存中不存在当前项目时, ARP 便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在 Windows 网络中,如果输入项目后不进一步使用,物理 / 网络 IP 地址对就会在 2 10 分钟内失效。因此,如果 ARP 高速缓存中项目很少或根本没有时,并不一定是网络故障导致的,通过另一台计算机或路由器的 ping 命令即可添加。所以,需要通过 arp 命令查看高速缓存中的内容时,可先试用 ping 命令测试到该计算机的连通性。

绑定 IP MAC 地址
在管理网络时,经常会遇到 IP 地址冲突的问题。这是因为有些用户乱设 IP 地址,造成冲突,如果与服务器的 IP 地址相冲突,还会造成网络故障,其他用户将不能与服务器正确连接等。有些用户为了上网,还会盗用 IP 地址。为防止 IP 地址冲突以及 IP 地址盗用,可以使用 ARP 命令将 IP MAC 地址一一对应起来,这样,只有网卡设置了被绑定的 IP 地址才可正常使用,从而有效地避免网络故障。

2688245344c493ea40.gif