企业局域网ARP欺骗有效解决方案
作为单位的一名网络管理员,深受ARP欺骗之苦,简直是谈之色变!网管们都只道:ARP是一种将IP转化成与IP对应的网卡的物理地址的一种协议(或者说ARP协议是一种将IP地址转化成MAC地址的一种协议)。当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机。其他用户原来直接通过安全网关上网现在转由通过病毒主机上网。由于ARP欺骗的木马程序发作的时候,会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。只有当ARP欺骗的木马程序停止运行时,用户会恢复从安全网关上网,网络才恢复正常。

  前段时间笔者所在单位的局域网就经历了一场ARP欺骗的噩梦。经过测试摸索,发现了一种可以有效终结ARP欺骗的方法,现把相关过程写下来,供网管同行借鉴。(为了写文章把过程模拟了一遍,一边测试一边截图)

  首先打开命令提示符(cmd.exe),敲入如下命令:

  route print(看看我主机的路由表)

  运行结果如下:(图1)

这是我的路由表,你们的可能不一样,我们看最后一个Metric,这个条目下面的数字表示这条路由的优先等级(权限),1等级最高 ,20等级最低。

  我们来看第一行

  Network Destination Netmask Gateway Interface Metric

  0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.6 20

  这行的意思是:如果本机(192.168.1.6)要访问Internet的话,必须通过网关(192.168.1.1)再到任何Internet的服务器 。下面几行路由表无关紧要,简单的说就是,如果你要访问Internet先经过本机的路由表再到路由器(网关)再到你要访问的Internet服务器。

  我们都知道,ARP病毒是通过读取本机TCP/IP里的网关然后进行欺骗的。

  现在我们就“以其人之道,还治其人之身体”,反欺骗ARP病毒。

  在命令提示符(cmd.exe)下运行ipconfig /all(查看本机网关)

  显示如下:

以下是引用片段:
  Connection-specific DNS Suffix . :
  IP Address. . . . . . . . . . . . : 192.168.1.6
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 192.168.1.1
  最后一行就是网关地址,为192.168.1.1

现在要把网关IP换成192.168.1.1-192.168.1.254之间的任意一个,但不能和其他客户机冲突,最好换个局域网中不用的IP。(其实网关IP随便你添什么,那怕110.110.110.110都没事,但为了能反欺骗ARP和避免被怀疑,我们最好能用同网段的IP。)我们现在把网关IP换成192.168.1.200。

  我们可以在命令提示符(cmd.exe)下敲入如下命令(当然也可以在“Ineternet协议 TCP/IP属性”窗口中更改):

  netsh interface ip set address name="本地连接" gateway=192.168.1.200 gwmetric=0

  你试试肯定上不了网了,因为网关地址是错误的。好了,我们现在命令提示符(cmd.exe)下敲入如下命令看看路由表:

  route print

  运行结果如下:(图2)

第一行的网关IP变成了你刚才设置的IP了,这个网关IP是上不了网的,因为这是我们用来欺骗ARP病毒的。

  接下来,我们仍旧在命令提示符(cmd.exe)下输入如下命令:

  route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1

  上面命令的意思是添加一条静态路由,网关地址为192.168.1.1,这是我们真是的网关地址,并且执行级别比那条用来欺骗ARP病毒的那条路由的权限要高。

  我现在在命令提示符(cmd.exe)下输入如下命令验证一下:(图3)

第二行的网关是我们在“本地连接”的“Ineternet协议 TCP/IP属性”设置的那个假的优先等级是20(最小的)

  最后,我们做一个批处理文件,保存为保存为arp.bat。

  批处理文件代码如下:

以下是引用片段:
  @echo off 
  netsh 
interface ip set address name="本地连接" gateway=192.168.1.200 gwmetric=0 
  route add 
-0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1 
  exit 

  让这个批处理文件开机自动运行,把加到“启动项”里或者注册表的“run”键值下。

  最后把这个批处理文件分发到局域网中的其他计算机中,都让他们开机启动。有了这些防范,我们不再怕ARP欺骗了。当然这个方法只能解决燃眉之急,根本的办法就是把ARP欺骗病毒赶出局域网。




Tu3.jpg




Tu2.jpg




Tu1.jpg 
==============================================================
个人更喜欢如下的操作:
1.在 网络连接 - 本地连接 中 将 网关设置为 本身
2.将如下命令做成批处理
@echo on 
route delete 
0.0.0.0
route add 
-0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 1 
exit
3.将其定义为开始自动运行
posted on 2008-06-14 12:19  利刃  阅读(551)  评论(0编辑  收藏  举报