我如何查看networking上的所有机器/主机名称

我试图find一种可靠的方式来查看本地networking上的所有主机/机器名称,例如“Jim的Ipad”或“Austi的IMac”。 目前我唯一可以做到的方法是查看通常显示名称的dhcp请求日志,但我想知道是否有办法一次只列出networking上的所有名称? 我试过nmap -sP 192.168.1。*,它似乎只给机器制造商而不是实际的机器/域名:

MAC Address: 00:1D:BA:40:14:31 (Sony) Host 192.168.1.109 is up (0.00073s latency). MAC Address: 00:50:94:C8:1C:02 (Pace Micro Technology PLC) Host 192.168.1.111 is up (0.00011s latency). MAC Address: 00:24:8C:EA:F0:7D (Asustek Computer) Host 192.168.1.112 is up (0.0054s latency). MAC Address: 00:18:71:5C:D2:BA (Hewlett Packard) Host 192.168.1.117 is up (0.0049s latency). 

我也尝试过试图nmap -sL 192.168.1。*,它似乎根本没有工作,它只是列出所有的IP,并说他们没有扫描,没有额外的信息或任何types的东西。 我从一个充当networking路由器/网关的debian服务器运行这些命令。 任何帮助将不胜感激,谢谢!

如果您没有运行dynamicDNS,或者您的所有计算机都没有DNS条目,那么您的dhcp数据库可能就像您将要获得的列表一样。 NMAP不parsing没有反向DNS,AFAIK的主机。 其他扫描仪,如愤怒的IP扫描仪,可能会拿起netbios查询的Windows / CIFS主机名。

对于在nbtscan上使用nbtscan 192.168.1.0/24的快速netbios扫描。 这只有在你的networking上只有启用netbios的设备(通常是windows)时才有效。

对于偏执狂(但稍慢)的主机发现,您可以使用nmap -p- -PN -A 192.168.1.0/24对networking节点的所有端口(-p-)执行高级(-A)nmap扫描

如果您控制路由器,您也可以检查arp表,这是发现的最可靠方法,以获取networking上活动节点的列表。

您可以使用dnsmasq作为cachingDNS服务器而不是绑定。 它也有一个内置的DHCP服务器。 当dnsmasq授予租约时,它将存储主机名,以便您可以使用hostnslookup进行查找。 要检索主机的完整列表,只需cat /var/lib/dnsmasq/dnsmasq.leases 。 它显示所有实际的IP地址租约和主机名。