WEB开发网
开发学院网络安全安全技术 如何确定网络中IP地址被ARP协议欺骗盗用 阅读

如何确定网络中IP地址被ARP协议欺骗盗用

 2008-11-21 13:34:17 来源:WEB开发网   
核心提示: 不过用sniffer的方法不能将已经占用的IP地址保存成文件输出,而且给人有一种大材小用的感觉,如何确定网络中IP地址被ARP协议欺骗盗用(3),毕竟sniffer正统不是用来做扫描IP地址的,方法四:ARP缓存法实际上笔者还发现了一个方法可以解决网友提出的问题,是需要我们这些网络管理员自

不过用sniffer的方法不能将已经占用的IP地址保存成文件输出,而且给人有一种大材小用的感觉,毕竟sniffer正统不是用来做扫描IP地址的。

方法四:ARP缓存法

实际上笔者还发现了一个方法可以解决网友提出的问题,他的原理是通过ARP缓存来查看获得的,不用使用任何第三方工具,使用系统自带的ARP -A即可。

ARP缓存法是以前面介绍的ping法为基础而来的,对于安装了防火墙或设置过滤规则的计算机来说直接ping该IP地址是得不到返回信息的,但是有一点我们必须注意,那就是虽然无法从ping的返回信息中得出该IP地址是否被占用,但是从ARP缓存中却可以看出来。防火墙等过滤设置可以不容许ICMP协议返回数据包给源地址,但是由于ARP是工作在二层上的,所以在ICMP协议数据包被过滤前ARP已经通过查看MAC的方式获得了网络中在线主机的MAC地址。

只要网络中的计算机想上网,那么他一定会将自己网卡的MAC地址告诉与其连接的交换机,接下来交换机也会进一步将他知道的MAC地址信息反馈给使用ping的主机。这样我们在使用ping的主机上就能够通过是否获得MAC地址的方式来了解该IP地址对应的计算机是否在线了。

通过任务栏的“开始->运行”,输入CMD后回车进入命令行模式。假设公司网络是192.168.1.0/255.255.255.0,那么我们可以通过ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254来测试IP地址是否被占用。当然不管ping返回的是通还是不通,全部ping完后执行arp -a命令显示ARP缓存表,出现在缓存表中的IP地址就是被占用的地址。

对批处理命令熟悉的网络管理员还可以自行编辑一个BAT命令来完成上面的一系列ping操作,BAT文件的内容如下:

FOR /L %i IN (0,1,255) Do ping X.X.X.%i -n 1

arp -a > IP.txt

这个批处理文件将列出所有正在使用的IP地址跟他们的MAC地址,保存到ip.txt文件中。当然语句中的X.X.X.%i是可以进行修改的,例如公司网络为192.168.1.0/255.255.255.0那么应该修改为

FOR /L %i IN (0,1,255) Do ping 192.168.1.%i -n 1

arp -a > IP.txt

最后再把这个方法的原理进行总结——我们向网段内所有IP地址发送一个icmp包,也许他屏蔽了ICMP包,但是这不要紧,只要他使用了该IP地址就一定会回应一个他的mac地址的数据包过来,这样用arp -a察看本地的arp缓存就能看到他的IP地址跟MAC地址了。

小提示:

我们也可以使用nbtstat -A IP命令来替代arp -a命令。

也许有人会问计算机能够禁止ARP数据包的通过呢?实际上计算机上能禁止ICMP包,但是是不可能禁止arp包的,如果禁止了arp,那么交换机就找不到该计算机了,该计算机也无法连接网络,访问网络上的任何资源了。所以说ARP缓存法让我们通过现象看到了本质,即使ping无法返回任何有用信息,但是实际上他已经帮助我们找出了在线主机对应的MAC地址,进一步了解了他的IP地址。

总结:

本文介绍了四种方法来解决查看网络中已经使用的IP地址的办法,当然各种方法有各种方法的特点,有的使用了第三方工具但是查看地址列表更加清晰,有的没有使用软件仅仅采用系统自带命令但是受到网络环境的局限,而有的虽然没有任何工具,但是需要编写批处理文件,难度较大。当然究竟采取哪个方法来解决实际问题,是需要我们这些网络管理员自己去比较,自己去选择的。个人推荐使用第四种方法——ARP缓存法。

上一页  1 2 3 

Tags:如何 确定 网络

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接