查看: 79931|回复: 56

[原创]一次ARP故障排查

[复制链接]
发表于 2006-8-7 16:48:35 | 显示全部楼层 |阅读模式
一次ARP故障排查

完整的PDF文档下载:


1.   网络现象

最近网络中有主机频繁断线,刚刚开始还比较正常,但是一段时间后就出现断线情况,有时很快恢复,但是有时要长达好几分钟啊,这样对工作影响太大了。最初怀疑是否是物理上的错误,总之从最容易下手的东西开始检查,检查完毕后没有发现异常!突然想到目前网上比较流行的ARP攻击,ARP攻击出现的故障情况与此非常之相似!对于ARP攻击,一般常规办法是很难找出和判断的,需要抓包分析。

2.   原理知识

在解决问题之前,我们先了解下ARP的相关原理知识。

ARP原理

首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。

当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;

源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

ARP欺骗原理

我们先模拟一个环境:

网关:192.168.1.1  MAC地址:00:11:22:33:44:55
欺骗主机A:192.168.1.100  MAC地址:00:11:22:33:44:66
被欺骗主机B:192.168.1.50  MAC地址:00:11:22:33:44:77

欺骗主机A不停的发送ARP应答包给网关,告诉网关他是192.168.1.50主机B,这样网关就相信欺骗主机,并且在网关的ARP缓存表里就有192.168.1.50 对应的MAC就是欺骗主机A的MAC地址00:11:22:33:44:66,网关真正发给主机B的流量就转发给主机A;另外主机A同时不停的向主机B发送ARP请求,主机B相信主机A为网关,在主机B的缓存表里有一条记录为192.168.1.1对应00:11:22:33:44:66,这样主机B真正发送给网关的数据流量就会转发到主机A;等于说主机A和网关之间的通讯就经过了主机A,主机A作为了一个中间人在彼此之间进行转发,这就是ARP欺骗。

3.  解决方法

看来只有抓包了,首先,我将交换机做好端口镜像设置,然后把安装有科来网络分析系统的电脑接入镜像端口,抓取网络的所有数据进行分析。通过几个视图我得出了分析结果:
诊断视图提示有太多“ARP无请求应答”,如图1。
  

(图1  诊断提示)

在诊断中,我发现几乎都是00:20:ED:AA:0D:04发起的大量ARP应答。而且在参考信息中提示说可能存在ARP欺骗。看来我的方向是走对了,但是为了进一步确定,得结合其他内容信息。
查看协议视图了解ARP协议的详细情况,如图2所示。
  

(图2  协议视图)

从图2中所显示的协议分布来看,ARP Response和ARP Request相差比例太大了,很不正常啊。
接下来,再看看数据包的详细情况,如下图3。
  

(图3  ARP数据包)

我从图3中的数据包信息已经看出问题了,00:20:ED:AA:0D:04在欺骗网络中192.168.17.0这个网段的主机,应该是在告诉大家它是网关吧,想充当中间人的身份吧,被欺骗主机的通讯流量都跑到他那边“被审核”了。

4.  解决办法

现在基本确定为ARP欺骗攻击,现在我需要核查MAC地址的主机00:20:ED:AA:0D:04是哪台主机,幸好我在平时记录了内部所有主机的MAC地址和主机对应表,终于给找出真凶主机了。可能上面中了ARP病毒,立即断网杀毒。网络正常了,呜呼!整个世界又安静了!

5.  总结(故障原理)

我们来回顾一下上面ARP攻击过程。MAC地址为00:20:ED:AA:0D:04的主机,扫描攻击192.168.17.0这个网段的所有主机,并告之它就是网关,被欺骗主机的数据都发送到MAC地址为00:20:ED:AA:0D:04的主机上去了,但是从我抓取的数据包中,MAC为00:20:ED:AA:0D:04的主机并没有欺骗真正的网关,所以我们的网络会出现断网现象。

6.  补充内容

对于ARP攻击的故障,我们还是可以防范的,以下三种是常见的方法:

方法一:

平时做好每台主机的MAC地址记录,出现状况的时候,可以利用MAC地址扫描工具扫描出当前网络中主机的MAC地址对应情况,参照之前做好的记录,也可以找出问题主机。
       
方法二:ARP  –S

可在MS-DOS窗口下运行以下命令: ARP –S手工绑定网关IP和网关MAC。静态绑定,就可以尽可能的减少攻击了。需要说明的是,手工绑定在计算机重起后就会失效,需要再绑定,但是我们可以做一个批处理文件,可以减少一些烦琐的手工绑定!

方法三:使用软件(Antiarp)

使用Anti ARP Sniffer可以防止利用ARP技术进行数据包截取以及防止利用ARP技术发送地址冲突数据包。

[ 本帖最后由 菜青虫 于 2006-8-7 16:55 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2006-8-7 17:24:28 | 显示全部楼层
个人见解,请版主参考
1、图3 感觉是00:20:ED:AA:0D:04在欺骗网关,准备做“中间人”。
2、MAC地址00:20:ED:AA:0D:04基本上是虚拟的。
回复

使用道具 举报

发表于 2006-8-7 17:37:22 | 显示全部楼层
都不是原创!!!!!!!
回复

使用道具 举报

发表于 2006-8-7 22:34:20 | 显示全部楼层

分析的有道理

分析的很有道理,谢谢
回复

使用道具 举报

 楼主| 发表于 2006-8-8 09:25:17 | 显示全部楼层
原帖由 syf-sx 于 2006-8-7 17:24 发表
个人见解,请版主参考
1、图3 感觉是00:20:ED:AA:0D:04在欺骗网关,准备做“中间人”。
2、MAC地址00:20:ED:AA:0D:04基本上是虚拟的。


呵呵,意见一致!
回复

使用道具 举报

 楼主| 发表于 2006-8-8 09:26:10 | 显示全部楼层
原帖由 artico 于 2006-8-7 17:37 发表
都不是原创!!!!!!!



呵呵,此话怎讲?迷糊了
回复

使用道具 举报

发表于 2006-8-8 18:46:27 | 显示全部楼层
不错,谢谢楼主分享经验。
回复

使用道具 举报

发表于 2006-8-8 22:36:52 | 显示全部楼层
分析得很透彻,谢谢分享经验!
回复

使用道具 举报

发表于 2006-8-8 23:35:45 | 显示全部楼层
dddddddddddddddd
回复

使用道具 举报

发表于 2006-8-9 11:23:02 | 显示全部楼层
谢谢了刚我这里也发现这问题不知道怎么解决
回复

使用道具 举报

发表于 2006-8-10 15:55:26 | 显示全部楼层
Very Good!!
Thanks for sharing!1
回复

使用道具 举报

发表于 2006-8-22 09:04:21 | 显示全部楼层
分析得非常好,加分鼓励,收入精华!
回复

使用道具 举报

发表于 2006-8-23 15:12:05 | 显示全部楼层

haohaohaohao

haotie !!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2006-8-23 15:12:38 | 显示全部楼层

xiexie

haohaohao!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2006-9-12 19:31:37 | 显示全部楼层
好啊.谢谢   ////
回复

使用道具 举报

发表于 2006-9-16 00:22:54 | 显示全部楼层
分析得不错。。。
回复

使用道具 举报

发表于 2006-9-18 16:22:36 | 显示全部楼层
呵呵,不错!!!
回复

使用道具 举报

发表于 2006-9-22 13:22:46 | 显示全部楼层
好帖,收藏了……
回复

使用道具 举报

发表于 2006-9-24 16:10:37 | 显示全部楼层
还好,分析得比较清晰,以前在用SNIFFER做这个实验的时候,还没完全理解其中的原理,看来还经验重要
回复

使用道具 举报

发表于 2006-10-28 20:12:49 | 显示全部楼层
原帖由 syf-sx 于 2006-8-7 17:24 发表
个人见解,请版主参考
1、图3 感觉是00:20:ED:AA:0D:04在欺骗网关,准备做“中间人”。
2、MAC地址00:20:ED:AA:0D:04基本上是虚拟的。

你怎么知道00:20:ed:aa:0d:04是虚拟的
回复

使用道具 举报

发表于 2006-10-29 20:40:32 | 显示全部楼层

谢了

分析透彻,很有参考价值
回复

使用道具 举报

发表于 2006-10-30 11:00:46 | 显示全部楼层
原帖由 fg0000 于 2006-10-28 20:12 发表

你怎么知道00:20:ed:aa:0d:04是虚拟的


其实就是推测了撒!根据问题的来判断!有病毒程序虚拟出来的,使中病毒的主机断网。
回复

使用道具 举报

发表于 2006-10-31 00:26:47 | 显示全部楼层
学习了,谢谢LZ!!!
回复

使用道具 举报

发表于 2006-10-31 16:11:17 | 显示全部楼层
不错,呵呵,在学习ing。。。
回复

使用道具 举报

发表于 2006-11-7 20:01:48 | 显示全部楼层
现在分析出来的MAC地址基本上都是虚拟的,很难查找源机器
回复

使用道具 举报

发表于 2006-11-10 18:30:22 | 显示全部楼层
昨天我还遇到内容网络的ARP欺骗,也是用科来分析出来的啊.爽啊.
回复

使用道具 举报

发表于 2006-11-11 16:10:15 | 显示全部楼层
说的也有道理,MAC是不真实的。
回复

使用道具 举报

发表于 2006-11-11 17:10:24 | 显示全部楼层
怎么才能进一步学习呢,才能到楼主那样的水平?
谢谢分享!
回复

使用道具 举报

发表于 2006-11-14 11:45:22 | 显示全部楼层
顶,不过还是绑了比较好,
回复

使用道具 举报

发表于 2006-11-25 11:14:46 | 显示全部楼层
非常需要这样的案例分析,似乎在矩阵也能发现中毒的主机?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

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