linux命令行:find主机的规范主机名

linux的命令行获取主机的规范主机名最简单的方法是什么?

如果重要的话,我的壳是bash

澄清:我想要另一个主机的规范主机名,通过IP或非规范主机名。 不是本地主机的规范主机名。

使用dig(1) 。 对于正常的查找使用:

 dig full.hostname.xxx 

和反向查找使用:

 dig -x 127.0.0.1 

另外检查手册页更多更酷的选项。

远程主机的节点名称与其任何networking名称都没有必要的关系。 您必须login并使用hostname命令。

如果您正在查找networking地址的完全限定域名(FQDN),则可以使用像dignslookup这样的DNS查询工具,如@firm和@Richard Holloway所述。

你也可以使用主机命令。 像这个例子一样

 host xxx.xxx.xxx.xyz 

结果会是这样的

 xyz.xxx.xxx.xxx.in-addr.arpa domain name pointer name.domain.com 

要清楚, hostname名将只返回短名称。 使用-f参数; hostname -f获取完全限定的名称。

要findIP为xxx.xxx.xxx.xxx的远程主机的fqdn,可以使用

 nslookup xxx.xxx.xxx.xxx 

并看到答案包含

 name = host.domain.net 

规范名称没有“反向查找”。 那就是:给出一个Alogging,没有办法得到CNAMElogging指向它的列表。

这是命令:

hostname

您可以按名称查找IP地址,然后查找该IP地址的名称。 要在一个命令中做到这一点:

 $ dig -x `dig +short www.google.com` | grep PTR. 100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f4.1e100.net. 100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f100.1e100.net. 

这不适用于所有网站。