该arping.命令是较小的已知命令之一,它与之一样p命令。
名称代表“ARP ping”,它是一个允许您执行有限的工具p请求仅在其上收集有关本地系统的信息。其原因是它使用第2层网络协议,因此是不可用于的。该arping.命令用于在本地网络上发现和探测主机。
如果arping.未安装在系统上,您应该能够使用其中一个命令来处理:
$ sudo apt安装Arping -y $ sudo yum安装Arping -y
你可以像这样用p而且,如同p,您可以设置要使用的数据包的计数-C(例如,arping -c 2主机名)或允许它继续发送请求,直到您输入^ C.。在第一个示例中,我们向系统发送两个请求:
$ Arping-C 2 192.168.0.7 Arping 192.168.0.7从192.168.0.0.0.11 ENP0S25单播回复192.168.0.7 [20:EA:16:01:55:EB] 64.895ms单播回复192.168.0.7 [20:EA:16:01:55:EB] 5.423ms发送2个探针(1个播放)收到2次回复
请注意,响应显示接收回复和正在探测系统的MAC地址所需的时间。
如果你使用-F选择,你的arping.一旦确认系统正在响应,就会停下来。这可能很有效,但如果系统可能一些不存在或关闭系统 - 无法响应,则永远不会到达停止点。使用小值通常是更好的方法。在下一个示例中,命令尝试了83次,以便在我用a杀死它之前到达远程系统^ C.,然后提供计数。
$ Arping -f 192.168.0.77 Arping 192.168.0.77起192.168.0.0.11 ENP0S25 ^ CSENT 83探针(83个播放)收到0响应
对于已启动并准备回复的系统,响应快速。
$ ARPing -F 192.168.0.7 ARPing 192.168.0.7从192.168.0.0.11 ENP0S25单播回复192.168.0.7 [20:EA:16:01:55:EB] 82.963Ms发送了1个探针(1个广播)收到1次响应(s)广播 - 发出所有人以接收
该p命令可以轻松到达远程系统arping.尝试但没有得到任何反应。比较下面的回复。
$ arping -c 2 world.std.com arping 192.74.137.5从192.168.0.0.0.0.0.11 enp0s25发送了2个探针(2个播放)收到0 response(s)$ ping -c 2 world.std.com ping world.std。COM(192.74.137.5)56(84)个字节的数据。来自world.std.com(192.74.137.5)的64个字节):ICMP_SEQ = 1 TTL = 48次= 321 MS 64字节来自World.std.com(192.74.137.5):ICMP_SEQ = 2 TTL = 48次= 331 ms -world.std.com ping统计 - 2个报文传输,2个收到的,0%丢包,时间1002ms RTT MIN / AVG / MAX / MDEV = 321.451 / 326.068 / 330.685 / 4.617 MS
显然,arping.无法在远程服务器上收集信息。
如果你想使用arping.对于一系列系统,您可以使用如下的命令,这将是相当快的,因为它只尝试一次在提供的范围内达到每个主机。
$ for num in {1..100};做-C 1 192.168.0。$ num;192.168.0.1从192.168.0.0.11 enp0s25单播回复从192.168.0.1 [f8:8e:85:35:7f:b9] 5.530ms发送了1个探针(1次播放)1次响应192.168。0.2从192.168.0.0.0.11 enp0s25发送了1个探针(1次播放)0次响应从192.168.0.11 enp0s25单播回复192.168.0.3 [02:0f:b5:22:22:e5:90]76.856ms发送了1个探针(1个播放)收到的1次响应192.168.0.4从192.168.0.11 enp0s25单播回复192.168.0.4 [02:0f:b5:5b:d9:66] 83.000ms发送1探针(1次广播)收到1个回复......
请注意,我们看到一些响应显示了一个回复以及没有答复的其他人。
这是一个简单的脚本,它将提供网络范围中的哪个系统的列表,并且没有:
#!/ / bin / bash for num in {1..255};Do Echo -N“192.168.0。$ Num”Arping -C 1 192.168.0。$ num |Grep“1回复”如果[$?!= 0];然后回声“”完成
更改脚本中的IP地址范围以匹配本地网络。输出应该看起来像这样:
$ ./DETECTIPS 192.168.0.1收到的1次答复192.168.0.2收到的1次答复192.168.0.3收到的1次回复192.168.0.4收到的1次回复192.168.0.5 192.168.0.6收到1次回应(s)192.168.0.7收到1次回复192.168.0.8 192.168.0.9收到的1次回复192.168.0.10 192.168.0.11收到1份回复
如果您只想看到响应系统,请简化这样的脚本:
#!/ / bin / bash for num in {1..30};DO ARPY-C 1 192.168.0。$ num |grep“1响应”> / dev / null如果[$?== 0];然后回声“192.168.0。$ num”fi完成
以下是输出与第二个脚本的样子。它仅列出响应系统。
$ ./detective 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.6 192.168.0.7
该arping.命令使网络在网络上快速且简单地检查一系列系统,并且当您想要创建网络的地图时可以有用。