妙用“IP地址冲突”揪出害群之马

简介:
作者:田逸( [email]sery@163.com[/email]   版权所有,未经许可不得转载
 
对网络管理员或用户来说,发生“IP地址冲突”是不受欢迎的事情,因为在一个网络中,每个主机(严格来说是网络接口)都应该有唯一的一个IP地址,如果出现2个或两个以上主机使用相同的IP地址,这些使用相同IP地址的主机屏幕会弹出对话框报告IP地址冲突(如下图):
  这将导致这些使用相同IP的机器不能正常访问网络。但是,前几天笔者却用这个有如鸡肋的功能帮了一个大忙。是怎么一回事呢?听我慢慢道来。
 
本月12号那天,我被派到月坛大厦的客服部门处理网路故障。经初步诊断,发现网络时断时续,重启网关的话,能够正常好一会,过一段时间后就不灵了。这是一个十分简单的网络:一条外网网线进来,接入一台运行FreeBSD的网关(做NAT用),网关机的另外一个网络接口接交换机,客户端全部接2个在交换机上,同时,网关机提供DHCP服务,所有的客户机使用DHCP自动获取IP。首先,我得确定故障发生在那里;重启网关,发现客户机能正常上网,但网关马上提示DHCP请求超时的报警,除此而外看不出什么端倪,去客户端查IP,发现获取的IP地址正常,于是又怀疑是不是交换机有问题,等一会,发现故障又出现了,重启一下交换机,网络又正常了问题到底在哪里呢?一下犯晕了。
 
整理了一下思路,然后找了一台客户机(客户机全是windows),先ping一下网关,发现居然ping不通,ping网内的另外一台机器则正常,重启网关再用客户机ping 网关则正常,毫无疑问,网络中了ARP欺骗病毒了。进系统目录,发现c:下有几个异常的文件,该名某个文件,居然不让操作,运行命令 arp –a 发现多行arp请求,看来是病毒引起的网络堵塞故障。不能把所有的机器都与网络段掉,当务之急是先找出当前正在作崇的主机然后隔离处理。
 
怎么辨别是网络中那台主机中毒厉害呢?网上已经有很多不错的办法。有人建议用抓包工具,然后分析抓到的包信息来确认中毒的主机,然而我手里没有任何抓包工具,看来只好自己想招了。经过摸索,总结了下面一些行之有效的办法,供大家参考!
 
在客户机运行路由跟踪命令如 tracert –d [url]www.163.com[/url],马上就发现第一条不是网关机的内网ip,而是本网段内的另外一台机器的IP,再下一跳才是网关的内网IP;正常情况是路由跟踪执行后的输出第一条应该是默认网关地址,由此判定第一跳的那个非网关IP 地址的主机就是罪魁祸首。
 
问题又出来了,由于网内的主机IP地址是通过DHCP自动获取来的,怎么找出这个主机又是一个难题,几十个机器,挨个用 ipconfig/all查非累死不可,怎么办?得走捷径才行。突然之间冒出一个念头:设置一个与查出来的中毒主机相同的IP地址,然后…..,接下来,找一台客户端机器,查一下其自动获取的IP地址,没有那么幸运-这台机器不是要揪出来的那个IP,然后把这个主机的自动获取IP地址取消,手动设置机器的IP与有病毒的那个IP相同,设置生效后就听见一个妹妹嚷道:“我的IP地址怎么跟别人冲突了呢?”,殊不知,我要找的就是你呢!把妹妹的主机隔离网络,其他的机器上网立马就顺畅了。
 
处理arp病毒的操作我想大家都应该有经验了,在这里就不再多罗嗦。
 
简单总结一下,其主要步骤有两步:1、运行 tracert –d [url]www.163.com[/url] 找出作崇的主机IP地址。 2、设置与作崇主机相同的IP,然后造成IP地址冲突,使中毒主机报警然后找到这个主机。




















本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/7202,如需转载请自行联系原作者


相关文章
|
存储 编译器
【c++11】万能引用和完美转发
【c++11】万能引用和完美转发
|
3月前
hyengine 代码块问题之跳转目标地址如何解决
hyengine 代码块问题之跳转目标地址如何解决
|
3月前
|
程序员 C++ 开发者
C++命名空间揭秘:一招解决全局冲突,让你的代码模块化战斗值飙升!
【8月更文挑战第22天】在C++中,命名空间是解决命名冲突的关键机制,它帮助开发者组织代码并提升可维护性。本文通过一个图形库开发案例,展示了如何利用命名空间避免圆形和矩形类间的命名冲突。通过定义和实现这些类,并在主函数中使用命名空间创建对象及调用方法,我们不仅解决了冲突问题,还提高了代码的模块化程度和组织结构。这为实际项目开发提供了宝贵的参考经验。
58 2
|
3月前
|
运维 安全 Shell
不要再内耗了,这么乱的IP地址,是时候用脚本了!
不要再内耗了,这么乱的IP地址,是时候用脚本了!
280 2
|
6月前
|
Android开发
Android事件冲突原理及解决方法
Android事件冲突原理及解决方法
67 0
|
6月前
|
C++ 容器
【C++11特性篇】一文带小白轻松理解【万能引用(引用折叠)】&【完美转发】
【C++11特性篇】一文带小白轻松理解【万能引用(引用折叠)】&【完美转发】
|
C++
C++中的万能引用和完美转发
C++中的万能引用和完美转发是什么呢?有什么用?
58 1
|
存储 C++
【C++】万能引用、完美转发
【C++】万能引用、完美转发
56 0
|
Python
上古代码漫游记(二):把陷阱去掉了,反倒踩进了新的陷阱?
上古代码漫游记(二):把陷阱去掉了,反倒踩进了新的陷阱?
106 0
|
网络协议 网络架构
二十九、IP数据报
二十九、IP数据报
二十九、IP数据报