远程找出所有机器的IP地址?

远程找出所有机器的IP地址?

我有大约 40 台机器,我想知道它们的 IP 地址是多少。一种方法是登录这些盒子并使用命令找出它们的 IP 地址ifconfig,但是还有其他简单的方法可以用来找出它吗?

我可以将所有机器保存在这样的 txt 文件中,并从 shell 脚本中读取它,然后我应该做什么来找出 IP 地址?

machineA
machineB
machineC

答案1

如果您使用 DNS,您可以使用host, nslookup,等工具dig从主机名解析 IP。

您可以使用这一衬垫:

while IFS= read -r name; do host "$name"; done <hosts.txt

另外,如果您只想按顺序获取没有主机名的 IP 地址,您可以使用grep

while IFS= read -r name; do host "$name" | grep -o '[[:digit:]][^ ]*$'; done <hosts.txt

答案2

在您的 40 个系统之一中,安装此 arp 软件包

sudo apt-get install arp-scan

然后在该系统中运行:

sudo arp-scan --interface=eth0 --localnet

这样你就可以获得所有的ip

1) 远程执行
2) 每 10 分钟左右自动执行一次,然后自动保存到文本文件

相关内容