如何查看局域网内所有IP

网络管理员在日常维护局域网时都会收集统计每台电脑的IP地址和其相对应的MAC地址,这样的好处是可以便捷、准确的控制管理每台电脑,发现某台电脑中毒或者数据流量异常能及时排查、封网。

能实现这种功能的工具在网上有很多,例如:超级网管(SuperLANadmin)等等,喜欢的朋友可以自己搜索一下。在这里我主要谈的是调用本机DOS命令来实现上述结果,毕竟我们不可能天天把工具带在身边。

地址解析协议(ARP)用于实现IP地址到网络接口硬件地址的映射,该命令只有在安装了
TCP/IP
协议之后才可用。当某主机要向以太网中另一台主机发送IP数据时,它首先根据目的主机的IP地址在ARP高速缓存中查询相应的以太网地址,ARP高速缓存是主机维护的一个IP地址到相应的以太网地址的映射表。如果查到匹配的结点,则相应的以太网地址被写入以太网帧首部,数据包被加入到输入到输出列队等待发送。如果查询失败,ARP会先保留等待发送的IP数据包,然后广播一个询问目的主机硬件地址的ARP报文,等收到回答后再把IP数据包发送出去。

命令如下:

运行cmd.exe后执行:

for
/L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.1.%i
arp
-a

回车,一只烟的功夫就会看到收集好列表。

(注意:把192.168.1
IP地址替换成你所在局域网的IP地址)







FOR

对一组文件逐一运行一条命令。该命令可用在批处理文件中,也可命令提示符下直接调用。

语法:

FOR在批处理程序中的使用语法如下:

FOR
%%变量 IN (集合) DO 命令 [命令参数]

FOR在命令提示符下的使用语法如下:

FOR %变量 IN (集合) DO 命令
[

参数


%%变量或%变量

代表一个可替换的变量。FOR命令将用指定的一组文件中的每一个文本字符串来替换%%变量(或%变量),直到此命令(在命令参数中指定的)处理完所有的文件为止。
用%%变量来执行一批处理程序中的FOR命令。用%变量来执行命令提示符下的FOR命令。



集合
指定一个或多个要用特定命令对其进行处理的文件或文本字符串。圆括号必须得有。



命令
指定要对一组文件中每一文件进行处理的命令。



FOR─注解


使用关键字IN及DO

IN和DO并不是参数,但FOR命令中要求这两个关键字。如果省略了这两个关键字,
则MS-DOS将显示一错误信息。



使用可替代变量

除了数字0到9之外,你可把任何字符用作变量,以避免与批处理参数%0到%9的混淆。对简单的批处理程序来说,象%%F这样的一个单一字符就足够了。在复杂的批处理程序中,你可把多个值用于变量以区分不同的可替换变量。然而,在同一命令行上不能嵌套(增加)多个FOR命令。



指定一组文件

集参数可代表一组文件或几组文件。你可用通配符(*及?)来指定一文件集。下面是合法的文件集:

(*.doc)

(*.doc
*.txt *.me)

(jan*.doc jan*.rpt feb*.doc feb*.rpt)

(ar??1991.*
ap??1991.*)

当你使用FOR命令时,集中的第一个值将代替%%变量(或%变量),而为了处理此值MS-DOS将执行指定的命令;此过程一直持续进行,直到MS-DOS将对应于集中的值(或多值)的所有文件(或多组文件)处理完毕为止。


--------------------------------------------------------------------------------

FOR─例子

假设你想用TYPE命令来显示当前目录下扩展名.DOC或.TXT的所有文件的内容。为了做到这一点要使用可替代变量%F,并在命令提示符下输下面的命令。

for
%f in (*.doc *.txt) do type
%f

在此例中,当前目录下扩展名为.DOC或.TXT的每一个文件将代替%F变量,直到显示出每一个文件的内容为止。若把每一个%F都替换成%%F,则此命令可用于一批处理文件。否则,MS-DOS将忽略此变量而显示错误信息。

MS-DOS支持你想用于特定命令的开关、管道及重定向符。例如,为了把前一例的输出送到PRN(默认打印机口),应输入下面的命令:

for
%f in (*.doc *.txt) do type %f > prn:

 

转自:http://blog.sina.com.cn/s/blog_6f3ca78f01010pm7.html

转载于:https://www.cnblogs.com/libao/archive/2012/07/28/2612876.html

你可能感兴趣的:(如何查看局域网内所有IP)