解决"Duplicate IP address detected for *******"的问题

       最近在看《Metasploit渗透测试魔鬼训练营》这本书,按照作者提供的环境我在本地虚拟机搭建了一个环境。(具体配置可以参照该书,上面有详细的介绍)我讲一下自己遇到的一个问题,并分析解决一下。

       在攻击机(10.10.10.128)扫描网关服务器(10.10.10.254)时,有时候可以得到网关服务器所开放的端口,有时候又得不到网关服务器的任何信息。我看书上也没有提到这个问题,于是我用wireshark抓包看了一下。

       首先是nmap扫描10.10.10.254端口失败的时候,所捕获得数据包:

failure

       从上图可以看到,nmap在扫描10.10.10.254端口的时候,首先做了两次arp查询,同一个IP地址返回了两个不同的MAC地址,实际上00:0C:29:3B:A3:9A这个MAC地址才是10.10.10.254这个IP的真实MAC地址。我们从nmap扫描成功时,所捕获的数据包可以证实这一点,如下图所示:

success

       也就是说,当arp查询的时候,如果返回的MAC地址是网关服务器所对应的MAC地址,nmap扫描就可以正确执行,如果arp查询的时候,返回的MAC地址不是网关服务器所对应的MAC地址,那么nmap扫描就会失败。

       那么,这是为什么呢?为何同一个IP地址会对应两个不同的MAC地址。第一反应可能是IP地址冲突了。我们再看一下扫描失败的时候,所捕获的数据包,有如下的内容:

failure2

       提示“Duplicate IP address detected for 10.10.10.254 (00:0c:29:3b:a3:9a) - also in use by 00:50:56:ed:c3:f4 (frame 2)“。这个也说明确实IP地址冲突了。

       我们再来看一下nmap扫描10.10.10.0/24这个网段时得到的结果信息(此刻已经更改DHCP为10.10.10.131-10.10.10.253,并且网关服务器运行时的扫描结果,发现10.10.10.253也是开启的噢,如果DHCP为10.10.10.131-10.10.10.254,扫描得到的10.10.10.254还会是之前扫描失败的那个MAC地址):

3 

       可以看到,10.10.10.1和10.10.10.2也在扫描范围内。其中,10.10.10.1是VMnet8的IP地址,而10.10.10.2是10.10.10.0/24的网关地址。对了,可以看一下10.10.10.1的MAC地址:”00-50-56-C0-00-08”。和nmap扫描失败的时候,得到的10.10.10.254所得MAC地址前面一部分基本是相同的。

       推测DHCP设置可获取IP地址为10.10.10.131-10.10.10.254时,10.10.10.254被虚拟机分配给了一个虚拟设备,而我们的网关服务器设置的是静态IP地址,所有会造成arp解析的时候,一会儿是我们想要的MAC地址,一会儿是虚拟设备的MAC地址。虚拟设备具体是啥,我查了一下,没找到,如果有知道这个的,可以告诉我一下。

       好吧,我把DHCP可获取的范围改成了10.10.10.131-10.10.10.254,然后就不会引起冲突了,这样nmap扫描网关服务器的时候,得到的都是正确的结果了。

posted @ 2015-02-10 11:01  ShadonSniper  阅读(3051)  评论(0编辑  收藏  举报