- A+
这段时间几乎被ARP病毒气死了,明明知道网内有机器中毒,乱发ARP包干扰网络,但就是不知道是谁,抓包也看不出来(抓出来的IP是固定的内网IP,根本不和实际的IP段风马牛不相及,MAC则不停的更换,想在交换机上找出对应的端口也无能为力,装了彩影也于事无补,或许还跟经验有关)。
经过一段时间的琢磨,终于在自己的网络中实现了ARP爆发后快速定位中毒发作机器,在第一时间内使问题得到控制并解决。
我的网络环境,核心交换机思科3560,4个vlan,接入交换机是华为s2300,默认1个vlan,700余终端,有流量监控。
先说一下我对ARP病毒的理解和所思考的应对方法:
ARP病毒发作时的工作方式:
1、中毒机器发送ARP广播,造成交换机ARP表混乱;
2、中毒机器发送ARP广播,造成其他电脑ARP表混乱;
3、中毒机器发送ARP欺骗,造成交换机ARP表混乱;
4、中毒机器发送ARP欺骗,造成其他电脑ARP表混乱;
特点:
1、由于一般交换机的ARP刷新时间为5分钟,所以中毒机器如果要用ARP干扰机器,必须较为频繁的发送ARP包;
2、由于中毒机器需要正常通信(这样才能与网络中的机器通信,我是这样理解的),所以,中毒机器自己的MAC与IP对应关系无论在交换机还是在本机上都是正确的(即使使用修改过后的MAC——不管中毒机器是否修改本机MAC地址,总得是一个能通信的MAC;如果ARP病毒能随时修改本机MAC以隐藏自己,这就更加复杂和难以查找了;不过目前还没有遇到修改本机MAC的ARP病毒及其变种。);
3、中毒机器可以连续有规律的发ARP包干扰网络通信,但这种方式容易被抓包发现;
4、中毒机器为干扰网络可以发送虚假(可以没有规律)的MAC地址与IP地址对应关系的ARP包,这种包理论上不需要太多,只要能干扰就行了;
5、如果中毒机器总发相同的MAC干扰包,那可能是人为控制的,即使不是人为控制,这种干扰方式更容易被发现;
操作:
1、在被监控的众多设备中,如果vlan内ARP病毒发作,那么该vlan内的被监控设备若被干扰到,应该会在监控页面上显示为断线(因为通信中断);这是判断ARP发作的必要条件;
2、发现有设备断线,需要telnet到核心或者分中心s2300交换机上,打开“信息中心”(info-center enable),让交换机检测冲突,如有冲突,会有如下显示(借用了网友的信息,谢谢,下边冲突信息有所删改,不过样子差不多,嘿嘿):
#Apr 3 20:52:16:351 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.121 collision detected, sourced by e41f-1344-eed0 on GigabitEthernet1/1/1 of VLAN1 and 0004-23b0-ccb4 on GigabitEthernet1/1/1 of VLAN1
%Apr 3 20:52:16:353 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.121 collision detected, sourced by e41f-1344-eed0 on GigabitEthernet1/1/1 of VLAN1 and 0004-23b0-ccb4 on GigabitEthernet1/1/1 of VLAN1
#May 10 21:15:10:777 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.185 collision detected, sourced by 0010-c6a8-7ff1 on Ethernet1/0/8 of VLAN1 and 0004-23b0-ccb4 on Ethernet1/0/8 of VLAN1
%May 10 21:15:10:779 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.185 collision detected, sourced by 0010-c6a8-7ff1 on Ethernet1/0/8 of VLAN1 and 0004-23b0-ccb4 on Ethernet1/0/8 of VLAN1
#Apr 3 20:52:16:351 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.121 collision detected, sourced by e41f-1344-eed0 on GigabitEthernet1/1/1 of VLAN1 and 0004-23b0-ccb4 on GigabitEthernet1/1/1 of VLAN1
%Apr 3 20:52:16:353 2000 Quidway ARP/5/DUPIP:- 1 -IP address 112.84.38.121 collision detected, sourced by e41f-1344-eed0 on GigabitEthernet1/1/1 of VLAN1 and 0004-23b0-ccb4 on GigabitEthernet1/1/1 of VLAN1
3、分析交换机给出的信息,做统计分析,列出高概率出现的MAC,上交换机上查,查到对应机器,断开网线,继续检查,直至全部清除;上面信息中“0004-23b0-ccb4”出现概率最高,先检查之,确实是一台中毒机器,杀毒后ARP干扰消失;或者检查所有有冲突的MAC地址,逐个排查。
4、若使用抓包,也可以套用上面分析的特点;
5、综合使用各种手段,力争在最短的时间将ARP控制在最小的范围之内;
6、上面文字仅作抛砖,希望能引出玉来,谢谢。
备注:
另一个办法:使用的是disp logbuffer察看核心交换机日志缓冲区信息和disp arp命令察看否有多个IP对应同一个MAC地址
另附一则转载文章
1、 通过网段部分甚至所有电脑都不能上网;
2、 打开网页出现乱码;
3、 打开网页提示有病毒;
如果网络里出现上叙故障现状,很有可能是有电脑中ARP病毒。具体查杀办法如下:
1、 先确定故障网段的VLAN 、网关和IP地址等信息;
2、 登陆网关交换机(一定要网关交换机,不然是没有ARP表。)
3、 通过dis log命令查看日志,如果有病毒一般会有告警(但是也未必所有的都有)。如果出现以下日志:
%Dec 10 13:06:18 2007 Huawei8508_1 ARP/4/DUPIFIP:Slot=4;Duplicate address 10.110.70.126 on VLAN909, sourced by 0016-ec71-9996
%Dec 10 13:05:17 2007 Huawei8508_1 ARP/4/DUPIFIP:Slot=4;Duplicate address 10.110.70.126 on VLAN909, sourced by 0016-ec71-9996
以上日志表示:VLAN 909网段,MAC地址为0016-ec71-9996的电脑中ARP病毒。
4、 如果日志里没有信息显示信息,就需要查看交换机的ARP地址表。通过dis arp | in VLAN号,如dis arp | in 909。就会出现如下信息:
注意:所有IP地址对应的MAC地址都是一样的,是不正常的。正常的ARP表应该是不同IP地址对应不同MAC地址。
< Huawei8508_1>dis arp | in 909
Type: S-Static D-Dynamic
IP Address MAC Address VLAN ID Port Name Aging Type
10.110.64.168 0016-ec71-9996 909 GigabitEthernet4/1/5 13 D CunVPN
10.110.64.200 0016-ec71-9996 909 GigabitEthernet4/1/5 14 D CunVPN
10.110.70.60 0016-ec71-9996 909 GigabitEthernet4/1/5 15 D CunVPN
10.110.70.17 0016-ec71-9996 909 GigabitEthernet4/1/5 16 D CunVPN
10.110.64.236 0016-ec71-9996 909 GigabitEthernet4/1/5 16 D CunVPN
10.110.70.18 0016-ec71-9996 909 GigabitEthernet4/1/5 16 D CunVPN
10.110.70.20 0016-ec71-9996 909 GigabitEthernet4/1/5 17 D CunVPN
10.110.64.221 0016-ec71-9996 909 GigabitEthernet4/1/5 18 D CunVPN
10.110.64.231 0016-ec71-9996 909 GigabitEthernet4/1/5 19 D CunVPN
10.110.64.225 0016-ec71-9996 909 GigabitEthernet4/1/5 20 D CunVPN
10.110.64.160 0016-ec71-9996 909 GigabitEthernet4/1/5 20 D CunVPN
以上信息表示:VLAN 909网段,MAC地址为0016-ec71-9996的电脑中ARP病毒。
5、 用以上两种方法可以轻松的判断哪个MAC地址中毒,但是无法确定IP地址。要想确定IP地址是多少比较困难。需要依赖E盾等软件和日常的IP和MAC记录表等工具来判断。
6、 如果以上工具都没有的话,就只能先登陆到相应的二层交换机(一定要注意,是二层接入交换机)。通过查看MAC地址和端口的对应表,以此来判断是哪个端口。具体方法如下:
< Huawei3900_1>dis mac-address 0016-ec71-9996
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
0016-ec71-9996 909 Learned GigabitEthernet1/0/5 AGING
由以上信息可以判断出0016-ec71-9996这台电脑是接在3900交换机的GigabitEthernet1/0/5口。
7、 为了暂时恢复网络,可以先关闭交换机的GigabitEthernet1/0/5口。如下:
< Huawei3900_1>sys
System View: return to User View with Ctrl+Z.
[Huawei3900_1]int g 4/1/5
[Huawei3900_1-GigabitEthernet4/1/5]shutdown
8、 再登陆到网关交换机,把相应VLAN重新启动以下,如下:
[Huawei8508_1]int Vlan-interface 909
[Huawei8508_1-Vlan-interface909]shutdown
[Huawei8508_1-Vlan-interface909]undo shutdown