如何从机器名称请求IPv4地址?

时间:2017-01-22 03:26:12

标签: linux ip mapping hostname ipv4

在我的linux集群中,我有一堆主机名,而我的网络管理日志显示了ip地址(有时根据dns更改)。

我的问题是:如何快速找到某些主机名的ipv4,而不使用" ping xxxxx"获取IP地址和Ctrl + c来阻止它。我想写一个简单的脚本,如:

myCommand hostname1
myCommand hostname2
myCommand hostname3
myCommand hostname4
myCommand hostname5

将为我打印主机名到ipaddress映射(对于hostname1-5)

那么如何写这个" myCommand"命令或shell脚本? 感谢。

2 个答案:

答案 0 :(得分:3)

使用bind-tools中的host工具:

$ host -4 -t A stackoverflow.com
stackoverflow.com has address 151.101.129.69
stackoverflow.com has address 151.101.1.69
stackoverflow.com has address 151.101.193.69
stackoverflow.com has address 151.101.65.69
来自同一个软件包的

dig工具:

$ dig -4 -t A stackoverflow.com +short
151.101.129.69
151.101.1.69
151.101.193.69
151.101.65.69

答案 1 :(得分:2)

#!/usr/bin/env bash

function get_ip {
    echo $1
    getent hosts $1 | awk '{ print $1 }' | sed 's/^/  /g'
    echo
}

用法:

get_ip unix.stackexchange.com
get_ip hostname1
get_ip hostname2