从已知主机名列表中获取IP和MAC信息的方法

时间:2016-07-12 17:44:09

标签: linux

我有一个混合Linux发行版的主机名列表(一些Solaris,一些RedHat,一些Ubuntu),我需要为每个发行版上的任何以太网设备获取IP和MAC。

我没有任何这些服务器的root访问权限,所以我在一个远程运行其他服务器上写了一个bash脚本,并返回从ifconfig输出解析的IP和MAC。因为这个脚本使用了一个期望文件来传递我的密码,所以执行它需要很长时间,而且不是很优雅。

必须有更好的方法来做到这一点。我知道一些工具可以为我做,但不幸的是我无法安装任何额外的包,因为我没有权限这样做。

arp -a的输出完全符合我的要求,但问题是其中一些条目似乎有多个IP和主机名绑定到相同的MAC地址。所以我得到的条目如下:     在eth0上的SAME_MAC_ADDR [ether]处的HOSTNAME-1(IP-1)     在eth0上的SAME_MAC_ADDR [ether]处的HOSTNAME-2(IP-2)     ? (IP-2)在eth0上的SAME_MAC_ADDR [ether]

有没有办法首先从我拥有的主机名列表中获取所有IP和MAC地址?我猜arp是我需要的吗?

其次,如果有重复项,是否有办法获取与每个MAC地址相关的所有其他主机名或IP?

1 个答案:

答案 0 :(得分:0)

arp命令将显示您要连接的主机所知的主机的MAC地址和关联IP地址列表。

ifconfig是正确使用的工具(或者在某些发行版中使用" ip a")。为什么不试图在每台机器上放置一个cron作业来存储" ip a"或" ifconfig"进入临时文件,而不是在每个远程主机中执行命令,你只需要下载这个文件并解析你的本地服务器?

如果没有,他们只能在* IX框中获取网络适配器的准确信息是进入主机并询问此信息。