我们这里有许多笔记本电脑,它们有两个相邻的 DHCP 预留,一个用于有线接口,另一个用于无线接口。这样可以通过对给定部门的所有笔记本电脑上的所有 NIC 使用(例如)/28 子网来简化防火墙规则。
NSLOOKUP 在查询机器时正确返回两个接口:
$ 海雀
服务器: ourcompany-dc3.ourinternaldomain.local
地址:192.168.28.9
名称:auk.ourinternaldomain.local
地址:192.168.28.79 192.168.28.78
我正在寻找一个可以尝试两个网卡以查看哪个已连接的 ping 命令。并且应该通过名称而不是地址进行。
但是,如果我按名称 ping,它只会尝试机器的一个 NIC,这只有一半的时间有效(取决于用户当前的连接方式)。显然,我可以先执行 NSLOOKUP,然后尝试 ping 两个地址,但这是我试图避免的:我只想 ping 一个名称来查看特定机器的连接方式。
是否有一个 ping(或 dig,或其他任何东西)选项可以自动尝试通过 DNS 查找找到的所有主机 NIC?
附言:我确实知道如何编写脚本来执行此操作,但我必须将脚本拖到我可能使用的每台机器上(或将其放在共享位置),这比它本身的麻烦还要多。
答案1
- 据我所知,任何 ping 实用程序都没有检查所有查找结果的开关。大多数以主机名作为参数的软件只是在 gethostbyname() 中查找它并获取第一个结果以进行连接。
那么一行代码怎么样?听起来你已经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
有人提到了 nmap。如果您的所有 IP 地址都是相邻的,那么这里有一个似乎有效的技巧:
nmap -sn auk.ourinternaldomain.local/31
或者如果它们没有对齐则为 /30 或更大。
$ 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
- 我注意到 NirSoft 制作了一款免费 Windows GUI 实用程序,名为Ping信息查看
答案2
我家里有大约 60 台电脑,当只有一半使用静态 IP 时,让它们保持一致是件很麻烦的事(这也是有充分理由的,但不用担心!)。我确实有一个记录了静态 IP 的列表,但我忘记了各个机器上运行了哪些服务(向机器开放端口的服务器/软件)!Webmin 当然可以像任何好的 CPanel 程序一样进行调节。但更好的是 iOS App Store 和 Google Play Store 上的一款名为 Fing 的应用程序。位于这里,该应用程序是免费的,而且比 NMap 或“AngryIPScanner”或“NetSniffer”等应用程序的总和还要好。它的速度也超级快!NMap 可以在 Fing 扫描 30 台计算机所需的时间内扫描 5 台计算机。
它适用于我使用过的任何网络,包括加拿大的“ShawOpen”网络,这些网络一次可以连接数百人,谈谈发现漏洞的方法!玩得开心!
答案3
与上一个答案不同的是,更好的答案是使用系统。您可以在 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
我从另一个堆栈网络