如何从IP地址查找局域网内的计算机名称?

Isl*_*san 59 hostname

我的网络包括运行 Linux 的机器和其他运行 Windows 的机器。我的机器运行的是 Linux。

KK *_*tel 40

输入终端。

sudo nmap -sn <Your LAN Subnet>
Run Code Online (Sandbox Code Playgroud)

例如:

sudo nmap -sn 192.168.1.*
Run Code Online (Sandbox Code Playgroud)

您可以使用ip addr命令找到您的 LAN 子网。

它会显示局域网中的所有主机名,无论是 Linux 还是 Windows。您还可以查看 LAN 网络上的移动设备(如果有)。在这里,您需要确保使用 sudo 或 root 运行命令。

  • 这在我拥有 30 多台 Linux 机器的本地网络上没有任何显示... (16认同)
  • 在 Ubuntu 14.04 上也是如此,这只是列出了一堆 `? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0` (6认同)
  • 在 Ubuntu 14.04 上,这表示:“? (192.168.1.2) at 00:22:6b:f2:33:b3 [ether] on wlan0”,仅提供有关我的路由器的信息(我的笔记本电脑通过 wifi 连接到它,例如大约其他 10 个设备 atm)。查看 man arp 它还说“arp - 操纵系统 ARP 缓存”。这个工具应该如何解决最初的问题? (2认同)
  • 同样在这里。我只能通过主机名访问本地主机,似乎没有其他东西宣传它的主机名,即使是我自己设置的 linux 机器。 (2认同)

Ger*_*mar 20

输入终端

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)

这会给你:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
Run Code Online (Sandbox Code Playgroud)

其中 HOST.DOMAIN 是机器的 DNS 名称。

  • 这会显示所有活动的 IP,但它只显示在我的本地绑定服务器中明确配置了自定义域的机器的域。它没有显示任何本地主机名,我认为这是 OP 试图完成的。 (10认同)
  • **-sP** 可能已更改为 **-sn**,具体取决于您的 nmap 版本。来自 nmap 7.12 手册:_-sn(无端口扫描)在以前的 Nmap 版本中,-sn 被称为 -sP._ (4认同)

Fre*_*ere 11

Netbios 名称反向查找可能会完成您想要的不仅仅是“主机名”,后者是 DNS 和 tcp/ip 的功能。带有 -A 参数的 nmblookup 返回设备名称和 mac 地址。尝试这样的事情:

nmblookup -A 192.168.1.2
Run Code Online (Sandbox Code Playgroud)


Bre*_*ett 9

如果你试试这个怎么办:

你可以在windows下运行

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)
Run Code Online (Sandbox Code Playgroud)

在 ubuntu 上你可以安装 nbtscan。您可以在此处找到更多信息:http : //www.unixwiz.net/tools/nbtscan.html

希望能帮助到你

  • 尝试 nmblookup -A xxx.xxx.xx 其中 x 是机器的 IP 地址。所以我会做 nmblookup -A 192.168.1.6 并且它会返回我机器的名字。您需要为每台机器执行此操作。 (6认同)
  • 你能试试 nmblookup 吗?它应该已经安装在 Ubuntu 上 (2认同)

小智 5

我只是用

nslookup xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)

它会显示主机名(通常是计算机名)

  • 这只是让我`** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN` (4认同)
  • nslookup 进行 DNS 搜索,因此要使其正常工作,您需要在 DNS 中注册主机。如果您有一个常规的 Windows 网络,在私有 IP 范围内,没有配置 ActiveDirectory,它将无法工作。NetBios 名称和 DNS 名称是不同的野兽。 (2认同)

小智 1

据我所知,没有任何实用程序可以将 IP 地址解析为 NetBIOS 名称。我想某种网络范围界定程序或渗透测试程序可能能够为您提供大量信息。但是,所有计算机必须位于同一域和子网中。