使用IP地址获取远程服务器主机名的命令

Omi*_*uin 30 command-line networking 12.04

我想通过我的 Ubuntu 使用 IP 地址获取远程服务器的主机名。

在 Windows 中,我们可以使用 NBTSTAT,但这在 Linux 中不起作用。

有谁知道这是怎么做到的吗?

Sil*_*lke 43

网络BIOS

Windows(和带有 Samba 的 Linux 设备)使用 NetBIOS 来“发布”它们的地址。这是NBTSTAT用于查找 IP 地址的内容。

要通过 IP 地址在本地网络中查找主机名,您可以使用:

nmblookup -A <ip>
Run Code Online (Sandbox Code Playgroud)

或者您可以nbtscan通过运行安装:

sudo apt-get install nbtscan
Run Code Online (Sandbox Code Playgroud)

并使用:

nbtscan <ip>
Run Code Online (Sandbox Code Playgroud)

多播DNS

如果系统通过多播 DNS 发布其地址(OS X、Windows 10 和运行avahi-daemon此操作的Linux 设备),请使用avahi-resolve(需要安装avahi-utils)进行查找:

avahi-resolve -a <ip>
Run Code Online (Sandbox Code Playgroud)

反向 DNS

如果主机具有公共 IP 地址和有效的反向 DNS 条目,请使用dig(需要安装dnsutils)或host(需要安装bind9-host)程序:

dig -x <ip>
host <ip>
Run Code Online (Sandbox Code Playgroud)

  • 它说没有来自 xxx.xx.xx.xxx 的回复,但 ping 能够与服务器通信 (2认同)
  • 在这种情况下,尝试`host`。 (2认同)
  • 好的,现在我使用了主机 ipaddress,它回复了主机 xxx.xx.xx.xxx.in-addr.arpa。未找到:3(NXDOMAIN) (2认同)
  • 是的,这是在我们的本地网络中。 (2认同)

vip*_*169 10

只需在 Linux/Ubuntu 终端中键入以下命令:

host <ip>
Run Code Online (Sandbox Code Playgroud)