命令来ping所有主机的网卡

我们有许多笔记本电脑在这里有两个相邻的DHCP预留,一个用于有线接口,另一个用于无线。 这允许通过对给定部门中的所有膝上型电脑上的所有NIC使用(例如)/ 28个子网来实现更简单的防火墙规则。

查询计算机时NSLOOKUP正确返回两个接口:

$ auk

服务器:ourcompany-dc3.ourinternaldomain.local

地址:192.168.28.9

名称:auk.ourinternaldomain.local

地址:192.168.28.79 192.168.28.78

我正在寻找一个单一的ping命令,将尝试两个网卡,看看哪一个连接。 它应该是名字,而不是地址。

但是,如果我按名称ping,它只会尝试机器的一个网卡,只有一半的时间(取决于用户当前连接的方式)。 显然,我可以首先执行NSLOOKUP,然后尝试ping这两个地址,但是这正是我想要避免的:我想简单地ping一个名称来查看特定计算机的连接方式。

是否有一个ping(或,或其他任何事情)选项,将自动尝试所有的主机的网卡find一个DNS查找?

PS:我知道如何编写一个脚本来做到这一点,但是我不得不把脚本拖到我可能使用的每台机器上(或者把它放在一个共享上),这样做比麻烦得多。

  1. 没有切换检查我知道的任何ping实用程序中的所有查找结果。 大多数采用主机名作为参数的软件只是在gethostbyname()中查找并获取第一个结果才能连接。

那么一个class轮怎么样? 这听起来像你已经安装了nslookup ,但是对于host命令来说也是类似的。

 p() { for i in `nslookup $1 | sed 's/^Address: //;t;d'` ; do ping -q -c2 $i ; done } 

产生

 $ p www.bbc.co.uk PING 212.58.244.67 (212.58.244.67) 56(84) bytes of data. --- 212.58.244.67 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 21.908/22.214/22.520/0.306 ms PING 212.58.246.91 (212.58.246.91) 56(84) bytes of data. --- 212.58.246.91 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 24.484/24.876/25.269/0.423 ms 
  1. 有人提到nmap。 如果你所有的IP地址是相邻的,这似乎有一个技巧:

    nmap -sn auk.ourinternaldomain.local / 31

或/ 30或更大,如果他们不alignment。

 $ nmap -sn dns.google.com/31 Starting Nmap 6.40 ( http://nmap.org ) at 2017-08-20 20:46 BST Nmap scan report for dns.google.com (216.58.214.14) Host is up (0.031s latency). rDNS record for 216.58.214.14: lhr26s05-in-f14.1e100.net Nmap scan report for lhr26s05-in-f15.1e100.net (216.58.214.15) Host is up (0.029s latency). Nmap done: 2 IP addresses (2 hosts up) scanned in 0.10 seconds 
  1. 我注意到NirSoft生成一个名为PingInfoView的免费的Windows GUI工具

我家有大约60台电脑,并且只有一半是静态IP的(相当好的原因,但不用担心!)。 我有一个列表写下静态的列表,但是我忘记了在单个机器上运行的服务(带有开放端口的服务器/软件)! Webmin肯定会像任何一个好的CPanel程序一样照顾好pipe理。 但更好的是在iOS应用程序商店和Google Play商店中有一款名为Fing的应用程序。 位于这里 ,该应用程序是免费的,并会比NMap或“AngryIPScanner”或“NetSniffer”等将做的更好的工作结合起来。 它也是超级快! NMap可以扫描5台电脑的时间,这要花30分钟。

它可以在任何networking上运行,包括在加拿大发现的“ShawOpen”networking,每次有数百人连接,讨论发现漏洞的方法! 玩得开心!

与以前的答案分开的更好的答案是使用该系统。 您可以在Linux和Mac OS上执行此操作,或者在Windows上进行模拟:

 echo $(seq 254) | xargs -P255 -I% -d" " ping -W 1 -c 1 192.168.0.% | grep -E "[0-1].*?:" 

它会输出以下内容:

 64 bytes from 192.168.0.16: icmp_seq=1 ttl=64 time=0.019 ms 64 bytes from 192.168.0.12: icmp_seq=1 ttl=64 time=1.78 ms 64 bytes from 192.168.0.21: icmp_seq=1 ttl=64 time=2.43 ms 64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.97 ms 64 bytes from 192.168.0.11: icmp_seq=1 ttl=64 time=619 ms 

我在Stack Networking上从另一个来源获得了这个答案