计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 4143|回复: 1

局域网网速ARP故障小例

[复制链接]
发表于 2008-11-18 21:06:04 | 显示全部楼层 |阅读模式
局域网差不多20台电脑,在以前网速很正常,ping -t网络延迟在30-40之间。不过最近一台电脑带动了整个局域网好卡,ping -t在1000左右,只要把那台电脑网线给拔掉或用P2P把那台电脑给断开,网速就能恢复正常。那台电脑系统重做了,并用卡巴杀了一遍毒,结果还是不行,只要一连那台电脑就好卡。

应该是arp病毒,你那台机器重装系统时,没弄干净。该病毒发作时候的特征为,中毒的机器会伪造某台电脑的MAC地址,如该伪造地址为网关服务器的地址,那么对整个网吧均会造成影响,用户表现为上网经常瞬断。

一、在任意客户机上进入命令提示符(或MS-DOS方式),用arp –a命令查看:
C:\\WINNT\\system32>arp -a

Interface: 192.168.0.193 on Interface 0x1000003
Internet Address Physical Address Type
192.168.0.1 00-50-da-8a-62-2c dynamic
192.168.0.23 00-11-2f-43-81-8b dynamic
192.168.0.24 00-50-da-8a-62-2c dynamic
192.168.0.25 00-05-5d-ff-a8-87 dynamic
192.168.0.200 00-50-ba-fa-59-fe dynamic

可以看到有两个机器的MAC地址相同,那么实际检查结果为
00-50-da-8a-62-2c为192.168.0.24的MAC地址,192.168.0.1的实际MAC地址为00-02-ba-0b-04-32,我们可以判定192.168.0.24实际上为有病毒的机器,它伪造了192.168.0.1的MAC地址。

二、在192.168.0.24上进入命令提示符(或MS-DOS方式),用arp –a命令查看:
C:\\WINNT\\system32>arp -a
Interface: 192.168.0.24 on Interface 0x1000003
Internet Address Physical Address Type
192.168.0.1 00-02-ba-0b-04-32 dynamic
192.168.0.23 00-11-2f-43-81-8b dynamic
192.168.0.25 00-05-5d-ff-a8-87 dynamic
192.168.0.193 00-11-2f-b2-9d-17 dynamic
192.168.0.200 00-50-ba-fa-59-fe dynamic

可以看到带病毒的机器上显示的MAC地址是正确的,而且该机运行速度缓慢,应该为所有流量在二层通过该机进行转发而导致,该机重启后网吧内所有电脑都不能上网,只有等arp刷新MAC地址后才正常,一般在2、3分钟左右。

三、如果主机可以进入dos窗口,用arp –a命令可以看到类似下面的现象:
C:\\WINNT\\system32>arp -a
Interface: 192.168.0.1 on Interface 0x1000004
Internet Address Physical Address Type
192.168.0.23 00-50-da-8a-62-2c dynamic
192.168.0.24 00-50-da-8a-62-2c dynamic
192.168.0.25 00-50-da-8a-62-2c dynamic
192.168.0.193 00-50-da-8a-62-2c dynamic
192.168.0.200 00-50-da-8a-62-2c dynamic

该病毒不发作的时候,在代理服务器上看到的地址情况如下:
C:\\WINNT\\system32>arp -a
Interface: 192.168.0.1 on Interface 0x1000004
Internet Address Physical Address Type
192.168.0.23 00-11-2f-43-81-8b dynamic
192.168.0.24 00-50-da-8a-62-2c dynamic
192.168.0.25 00-05-5d-ff-a8-87 dynamic
192.168.0.193 00-11-2f-b2-9d-17 dynamic
192.168.0.200 00-50-ba-fa-59-fe dynamic

病毒发作的时候,可以看到所有的ip地址的mac地址被修改为00-50-da-8a-62-2c,正常的时候可以看到MAC地址均不会相同。

解决办法:
一、采用客户机及网关服务器上进行静态ARP绑定的办法来解决。
1. 在所有的客户端机器上做网关服务器的ARP静态绑定。
首先在网关服务器(代理主机)的电脑上查看本机MAC地址
C:\\WINNT\\system32>ipconfig /all
Ethernet adapter 本地连接 2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel? PRO/100B PCI
Adapter (TX)
Physical Address. . . . . . . . . : 00-02-ba-0b-04-32
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
然后在客户机器的DOS命令下做ARP的静态绑定
C:\\WINNT\\system32>arp –s 192.168.0.1 00-02-ba-0b-04-32
注:如有条件,建议在客户机上做所有其他客户机的IP和MAC地址绑定。

2. 在网关服务器(代理主机)的电脑上做客户机器的ARP静态绑定
首先在所有的客户端机器上查看IP和MAC地址,命令如上。
然后在代理主机上做所有客户端服务器的ARP静态绑定。如:
C:\\winnt\\system32> arp –s 192.168.0.23 00-11-2f-43-81-8b
C:\\winnt\\system32> arp –s 192.168.0.24 00-50-da-8a-62-2c
C:\\winnt\\system32> arp –s 192.168.0.25 00-05-5d-ff-a8-87
。。。。。。。。。

3. 以上ARP的静态绑定最后做成一个windows自启动文件,让电脑一启动就执行以上操作,保证配置不丢失。

二、有条件的网吧可以在交换机内进行IP地址与MAC地址绑定

三、IP和MAC进行绑定后,更换网卡需要重新绑定,因此建议在客户机安装杀毒软件来解决此类问题。

经验:

1:关闭局域网内所有交换机5分钟后。重新接通电源,观察网络是否恢复正常!(原因:可能是交换机长时间没有重启其内存已用光,导致交换数据速度缓慢,或受网络风暴影响导致阻塞)(另一种可能是交换机的某一个或几个接口模块损坏,或交换机故障引发的网络内暴,解决方法是更换交换机)
解决方案2:找个机器装个CommView,IP地址设置为你的路由器IP(拔掉路由器,使其脱离网络)然后你看看内网机器都向外面发送了什么包,看看哪个机器发包最多,朝什么IP发的?如果发现某机器向外发送大量目的IP是连续的包,且速度很快的话,请修理该机器!
(可能是原因是:局域网中的某一台或者多台机器感染了蠕虫病毒,在疯狂发包,导致路由器NAT连接很快占满)
解决方案3:如果上述二种原因被排除或不能解决其问题,可能是你的路由器性能低劣,处理能力有限造成的。你可以制作ROUTE
OS之类的软件路由器,或者购买3000~5000元左右的硬路由,并更换以观察情况。
解决方案4:局域网内某台/某几台计算机网卡接口损坏,而不停的向网络中发送大量的*数据包造成网络阻塞。(集成网卡容易出现此问题,尤其是网络中机器较多时此问题也是比较难于排查的,可以试着断开某台交换机,进行逐一排查)在确认了是哪台交换机内的机器有问题后。逐台打开这些机器,进入桌面,退出所有管理软件,打开网络连接,在不做任何事的情况下,看谁在大量发包或收包
解决方案5:(此情况比较特殊:局域网中有人使用非法软件恶意攻击网吧 或
ARP病毒攻击网络)在技术员制作母盘时应各面屏蔽非法攻击网吧的一些软件并在可能的情况下对网关MAC进行静态ARP绑定现在也有很多硬路由器有专门的防掉线的功能了,我们网吧的飞鱼星路由器就可以,可定时广播正常的ARP包,如果你是软件路由的话可以用软件进行防护.
这里也借鉴了别人的一些经验!


发生莫明掉线断流的一些解决建议
发生断流时的状况及现象:

1:能PING通网内其它客户机,但PING不通路由,上不了网(连接到INTERNET)。
2:能PING通网内其它客户机,同样PING不通路由,但能上网(能连接到INTERNET)。

当出现此状况时,用下列操作可恢复连接:1:禁用网卡后启用,2:重启客户机,3:重启路由器,4:在路由上删除其掉线机器对应的ARP列表。

原因可能性分析:ARP病毒或其它最新的变种病毒及漏洞攻击。

分析上述状况,可得出以下几点结论:
此病毒感染机器时,可能修改了客户机的MAC地址,或ARP缓存中的本机对应MAC。
此病毒感染机器时,可能修改了客户机ARP缓存中网关IP相对应的MAC。

A:当中毒的机器向网关路由发出请求时,网关路由的ARP缓存还未到刷新时间,网关路由内的ARP缓存表中保存的是客户机还未中毒前的MAC地址。而这个MAC地址,与客户机当前请求的MAC(被病毒修改过)不一致,客户机的连接请求被网关拒绝。即发生与网关断流。

B:当中毒的源头机器向局域网发出假MAC广播时,网关路由也接收到了此消息,并将这些假MAC地址与其IP相对应,并建立新的ARP缓存。导致客户机与服务器断开连接。

解决方法:
1:在网关路由上对客户机使用静态MAC绑定。PF-2.8
OEM软路由的用户可以参照相关教程,或是在IP--->ARP列表中一一选中对应项目单击右键选择“MAKE
STATIC”命令,创建静态对应项。

用防火墙封堵常见病毒端口:134-139,445,500,6677,5800,5900,593,1025,1026,2745,3127,6129
以及P2P下载

2:在客户机上进行网关IP及其MAC静态绑定,并修改导入如下注册表:
(A)禁止ICMP重定向报文

ICMP的重定向报文控制着Windows是否会改变路由表从而响应网络设备发送给它的ICMP重定向消息,这样虽然方便了用户,但是有时也会被他人利用来进行网络攻击,这对于一个计算机网络管理员来说是一件非常麻烦的事情。通过修改注册表可禁止响应ICMP的重定向报文,从而使网络更为安全。

修改的方法是:打开注册表编辑器,找到或新建“HKEY_LOCAL_Machine\\System\\CurrentControlSet\\Services\\TCPIP\\Paramters”分支,在右侧窗口中将子键“EnableICMPRedirects”(REG_DWORD型)的值修改为0(0为禁止ICMP的重定向报文)即可。

(B)禁止响应ICMP路由通告报文

“ICMP路由公告”功能可以使他人的计算机的网络连接异常、数据被GG、计算机被用于流量攻击等,因此建议关闭响应ICMP路由通告报文。

修改的方法是:打开注册表编辑器,找到或新建“HKEY_LOCAL_Machine\\System\\CurrentControlSet\\Services\\TCPIP\\Paramters\\Interfaces”分支,在右侧窗口中将子键“PerformRouterDiscovery”?REG_DWORD型的值修改为0(0为禁止响应ICMP路由通告报文,2为允许响应ICMP路由通告报文)。修改完成后退出注册表编辑器,重新启动计算机即可。

(C)设置arp缓存老化时间设置

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services:\\Tcpip\\Parameters

ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为120秒)
ArpCacheMinReferencedLife REG_DWORD
0-0xFFFFFFFF(秒数,默认值为600)

说明:如果ArpCacheLife大于或等于ArpCacheMinReferencedLife,则引用或未引用的ARP

缓存项在ArpCacheLife秒后到期.如果ArpCacheLife小于ArpCacheMinReferencedLife,

未引用项在ArpCacheLife秒后到期,而引用项在ArpCacheMinReferencedLife秒后到期.
每次将出站数据包发送到项的IP地址时,就会引用ARP缓存中的项。

曾经看见有人说过,只要保持IP-MAC缓存不被更新,就可以保持正确的ARP协议运行。关于此点,我想可不可以通过,修改注册表相关键值达到:

默认情况下ARP缓存的超时时限是两分钟,你可以在注册表中进行修改。可以修改的键值有两个,都位于

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters

修改的键值:

键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120

键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600

注意:这些键值默认是不存在的,如果你想修改,必须自行创建;修改后重启计算机后生效。

如果ArpCacheLife的值比ArpCacheMinReferencedLife的值大,那么ARP缓存的超时时间设置为ArpCacheLife的值;如果ArpCacheLife的值不存在或者比ArpCacheMinReferencedLife的值小,那么对于未使用的ARP缓存,超时时间设置为120秒;对于正在使用的ARP缓存,超时时间则设置为ArpCacheMinReferencedLife的值。

我们也许可以将上述键值设置为非常大,不被强制更新ARP缓存。为了防止病毒自己修改注册表,可以对注册表加以限制。

在没遇到ARP攻击前,通过任意一个IP-MAC地址查看工具,纪录所有机器的正确IP-MAC地址。等到受到攻击可以查看哪台机器出现问题,然后通常是暴力解决,问题也许不是很严重。但是对于内网电脑数量过大,每台机器都帮定所有IP-MAC地址,工作量非常巨大,必须通过专门软件执行。
发表于 2011-8-31 17:43:30 | 显示全部楼层
经典之作¥¥¥
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表