一、概述:最近在搞一个项目,需要给服务器开通IP地址白名单,想多开几个,于是乎就涉及到怎么查看没有占用的IP地址查询的问题。于是总结如下。
二、如何查看IP地址是否被占用,一共三种办法,我用的是批量查询的方法。很实用。
在通过局域网(例如校园网、公司内网)上网时,首先需要设定一个可用的IP。那么局域网中哪些IP没有被占用呢?可以包着碰运气的心理,设置好IP再看有没有冲突报告,但这种办法实在是太笨了!下面笔者就给你带来三个察看IP地址是否可用的办法。 1.简单PING法 网络中查看某个计算机是否在线的最简单的办法就是ping该计算机对应的IP地址。例如想查看192.168.1.1这台计算机是否已经在线。点击“开始/运行”输入“cmd”进入命令行命令提示符状态,在命令行模式中输入“ping 192.168.1.1即可,如果ping得通就说明该IP地址对应的计算机已经在线。 2.ARP缓存法 如果仅仅使用ping法来判断网络中计算机的存在是不太严谨的,因为防火墙或者过滤规则,会使ping无法返回正确的信息,也就是说如果按照上面介绍的方法ping了对方IP地址不通,但对方仍然可能会在线,不过通过ARP缓存可以解决这个问题。 防火墙或者过滤包的方法也无法禁止ARP的查看,远程计算机不返回Ping成功的消息但会告诉本地计算机该IP地址对应的MAC地址。这样就可以通过ARP缓存信息来查看了。如果能看到该IP地址对应了MAC地址说明该计算机在线,相应的MAC地址没有出现在ARP缓存表中则表明该计算机不在线。首先按照上面介绍的ping法来检测某IP地址的计算机是否在线,然后在ping返回信息为不通的情况下,在命令提示符下输入“arp –a”查看本地ARP缓存列表,看对应的IP是否得到了MAC地址信息。 3.批处理法 利用上述原理,可以通过建立批处理的办法,批量检测局域网中在线的机器。例如要查看192.168.1.*这个网段中有哪些地址在线。在桌面上点鼠标右键新建一个文本文件后输入如下代码: FOR /L %%i IN (0,1,255) Do ping 192.168.114.%%i -n 1 arp -a -> IP.txt 将该文件保存为.bat文件,双击这个批处理文件将自动搜索网段中的所有IP,并且将发现出的ARP信息都保存到ip.txt文件中。笔者探测了192.168.114.1到192.168.114.10这十个IP得到了如图1的文档。可以看出,两个IP返回了MAC地址,说明它们是在线的。
3.1 另一种衍生的批处理方法。
本地会生成两个文件夹,查看文件信息就知道哪些是开通的。
@echo off
set str=172.27.9
for /l %%i in (200,1,254) do (
ping.exe %str%.%%i -n 1 -w 300 >nul&&echo %str%.%%i>>Success.txt||echo %str%.%%i>>Failure.txt
)
pause