如何从IP(Linux)获取主机名?

Roy*_*IEH 51 linux hostname

我想通过IP地址获取远程机器/主机名.我找到了很多答案,如nslookup,host,resloveip等.但我仍然无法从我的目标机器获得主机名(分OS,ubuntu等...)它似乎需要注册到DNS服务器?

我有一台名为test的机器并使用IP 10.1.27.97

但我用上面的方法仍然不能得到" 测试 "

有没有人可以帮我获取IP地址的主机名?

Har*_*rel 62

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

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

要在互联网上查找主机名,您可以使用该host程序:

host <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)

*取自https://askubuntu.com/questions/205063/command-to-get-the-hostname-of-remote-server-using-ip-address/205067#205067

更新2018-05-13

您可以使用查询名称服务器nslookup.它有两种方式!

nslookup <IP>
nslookup <hostname>
Run Code Online (Sandbox Code Playgroud)

  • `nbtscan -v -s:192.168.0.1 / 24` (3认同)
  • IPv6如何使用? (2认同)
  • 最好的方法:`nslookup &lt;IP&gt;` (2认同)
  • 当我尝试 `nslookup 10.10.2.220` 时,我得到 `** server can't find 220.2.10.10.in-addr.arpa: NXDOMAIN`。这是一些有用的信息! (2认同)

小智 39

为了使用nslookup,host或者gethostbyname()目标的名称需要在DNS上注册,或者在运行程序的机器上的hosts文件中静态定义.是的,您可以使用SSH或其他应用程序连接到目标并直接查询它,但对于通用解决方案,您需要某种DNS条目.


小智 8

我发现在 LAN 中使用的另一种简单方法是

ssh [username@ip] uname -n
Run Code Online (Sandbox Code Playgroud)

如果需要登录命令行会

sshpass -p "[password]" ssh [username@ip] uname -n
Run Code Online (Sandbox Code Playgroud)