在专用网络上查找计算机名称(使用nmap?)


10

在局域网上,我想使用跨平台程序找出所有连接计算机的名称,最好是nmap。我知道我能做到

nmap -sn xxx.xxx.xxx.xxx/24

(其中xxx.xxx.xxx.xxx是本地IP地址)查找已启动的主机,但如何找到计算机的主机名?他们用我能用nmap找到的方式广播这个吗?

更新: 看起来像愤怒的IP扫描仪可以做到这一点。它是如何做到的?我可以用nmap复制它吗?


3
哪个主机名? DNS名称?问你的DNS服务器。
ragnq

@ragnq nslookup不会给我主机名,但是愤怒的端口扫描器可以。我试图弄清楚如何使用nmap和/或命令行工具。
bsamek

Answers:


0

我使用过nmap和其他IP扫描仪,例如Angry IP scanner。我的观察是Nmap使用反向DNS来解析主机名,因此为了工作,DNS服务器应该具有主机的反向指针记录。我发现其他扫描程序使用Netbios查询跟进PTR查询。

如果您确定目标网络上的所有主机都是Windows主机并且已启用NETBIOS,则可以使用 nbtscan工具 扫描它们。


3

来自Angry IP Scanner FAQ(“ 主机名未显示 “):

Angry IP Scanners显示DNS返回的主机名(名称)   服务器,做一个 反向查找 。服务器提供IP   如果知道,则发送并返回主机名。

如果有些电脑   知道它自己的名字,但这并不意味着它已经提供了它   网络的DNS服务器。换句话说,它知道的主机名称   它本身(本地名称)和附加到IP地址的名称   DNS服务器已知的(全局名称)可能并不总是匹配。

通常,DNS查询将返回一些通用名称,例如   dhcp-12-13.superisp.com,特别是在ISP网络中。

名字匹配   在以下任何一种情况下:

  • 您的计算机已将该名称发送到DHCP服务器,从该服务器获取IP地址,DHCP服务器已将其提供给本地   DNS服务器
  • 您有一个静态IP地址,并且您的本地主机名是根据符合您的全局命名约定的规则配置的   网络
  • 如果查询本地IP地址,主机的TCP堆栈将返回本地名称,而不是询问全局名称

来自Nmap的文档(“ 主机发现 “):

默认情况下,Nmap仍然可以 反向DNS解析 在主机上   学习他们的名字。

其他阅读/信息在这里


在我正在研究的网络上,愤怒的IP扫描仪向我展示了主机名,大概是通过反向DNS查找。你所说的是nmap也进行了反向查找。但它没有显示主机名。如何让它显示主机名?或者这是该工作的错误工具?
bsamek

1

事实证明我必须指明 --system-dns 获取网络上的计算机名称。我不确定为什么会这样。也许DNS的配置方式有些意外?

更新: 实际上,它适用于一个VLAN但不适用于另一个VLAN,但是愤怒的IP扫描器适用于两者。


0

你也可以使用 nmap -A xxx.xxx.xxx.xxx 它应该在输出中显示主机名。在我的网络上,我通过grep管道,以获得我想要的信息。 〜 grep -e 'scan report' -e 'Computer name'

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.