三,批量缓存法:
上面介绍的方法一次只能检测一个IP地址,如果想查看多个IP该怎么操作呢?或者说想查看本地网络中究竟有哪些地址在线该如何设置呢?
(1)老方法一个一个地址的ping虽然可以查看但是太麻烦了,严重影响了办事的效率。
(2)批处理法:
这里我给大家做了一个脚本,通过这个脚本我们可以自动检测网络中的计算机,查看哪些IP地址在线。例如我们要查看192.168.1.*这个网络中有哪些地址在线,按下面步骤完成。
第一步:在桌面上点鼠标右键建立一个新的文本文件。
第二步:将如下代码复制到该文本文件中。
FOR /L %%i IN (0,1,255) Do ping 192.168.1.%%i -n 1
arp -a -> IP.txt
第三步:保存退出后将该文本文件修改后缀名为.bat。这样生成一个批处理文件。
第四步:双击这个批处理文件将自动搜索192.168.1.*这个网络中的所有IP,并且将发现出的ARP信息都保存到ip.txt文件中。(如图3)
![]() |
| 图3(点击看大图) |
第五步:扫描完毕后我们直接查看ip.txt文件就可以看到究竟有哪些IP地址已经被使用了。该文件保存的是网络中所有计算机IP地址以及对应的MAC地址等信息。
小提示:
该方法对于装了防火墙无法ping到的情况同样适用。因为该原理是向某一网段内所有IP地址发送一个icmp包,也许对方计算机屏蔽了ICMP包但不要紧,因为他一定会回应一个mac地址的包给源计算机,这样用arp -a察看本地的arp缓存就能看到他的IP地址跟MAC地址了。
另外在扫描过程中如果你想中断的话可以使用ctrl+c命令,也许你觉得设置到批处理文件中过于麻烦想直接通过命令行模式中的指令来完成扫描任务的话,只需要将命令进行简单修改即可。先输入FOR /L %i IN (0,1,255) Do ping 192.168.1.%i -n 1来扫描,完成后输入arp -a -> IP.txt命令保存信息。区别就是保存在批处理文件中需要是%%i,而命令直接输入法只需要%i即可。
