诶,有时候真是略捉急,开始的时候估摸了一个网段,试了3个都没有通,觉得这个一个个试验的方法简直捉急到家了。下面就为大家分享3种简单地如何查看ip地址是否被占用的方法。

1.ping

  windows键+R 快捷打开cmd命令行程序,进入命令行提示符状态,在命令行中输入“ping  你想要查看的是否被占用ip地址”回车。如果ping得通,则说明该ip地址对应的计算机已经在线,否则,说明未被占用。什么叫ping的通呢?图示如下:209没有被占用

如何知道局域网内哪些ip被占用-风君雪科技博客

227被占用了。应该清楚了吧?

2.ARP缓存法

  如果仅仅通过ping方法来判断网络中计算机的存在是不太严谨的,因为防火墙或者过滤规则,会使ping无法返回正确的信息,也就是说,即使上面ping不通,对方也仍然可能会在线。我觉得在这里,你可以用这个配置一下,如果能上网,应该就可以了。说明没有被占用。因为错误率其实也没那么大。那么,我们可以通过ARP缓存解决这个问题。因为防火墙或者过滤包的方法也无法禁止ARP的查看。远程计算机不返回ping成功的消息,但会告诉本地计算机该ip地址对应的MAC地址。这样就可以通过ARP缓存信息来查案了。如果能看到该ip地址对应的MAC地址,说明该计算机在线,相应的,没有出现在ARP缓存表中则表明该计算机不在线。那么具体步骤如何做呢?

(1)按照前面的ping方法来检测某ip地址的计算机是否在线,如果不通

(2)在命令提示符中输入“arp -a”来查看本地ARP缓存列表,看对应的ip是否得到了MAC地址信息。

前面看到。209地址是ping不通的,那我们来验证一下,如图所示:

如何知道局域网内哪些ip被占用-风君雪科技博客

未出现209这个ip地址对应的MAC地址,则说明该ip地址未被占用。

(3)批处理法

  利用上述原理,可以通过建立批处理的办法,批量监测局域网中在线的机器。例如,如果要查看网段192.168.64.*中有哪些地址在线,新建一个文本文件,输入下面的代码:

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

arp -a->IP.txt

将该文件保存为.bat文件,双击这个批处理文件将自动搜索网段中的所有IP,并将发现出的ARP信息都保存到ip.txt文件中。

其中返回MAC地址的IP所对应的计算机,是在线的。扫描过程中,可用Ctrl+C进行中断。结果如下图所示:

如何知道局域网内哪些ip被占用-风君雪科技博客

                                      图1 检索过程中

如何知道局域网内哪些ip被占用-风君雪科技博客

图2  中断下

如何知道局域网内哪些ip被占用-风君雪科技博客

图3 检测出的部分被占用的IP地址

说明一下,第一次我检测的1-255,半天没反应,我嫌太多了,就改了下文件,改成了(1,199,255)一会儿就检测完了,自动生成了一个IP.txt文件。如上图所示,所以你们不要说不对应。哈哈哈,209是没有被占用的。

你学会了没?希望对大家有用。

参考资料:http://zhidao.baidu.com/link?url=QridaastI4jgLADNMiXlOidtwcYz5EiqMsEiJCDcu_w9uD7hVnKbH4Gb7ZgRD2DcJpmCsmQHBiNxrBPayDx_qK