如何发现局域网上所有机器的主机名?

naf*_*ich 18 networking avahi

我使用 hostname.local ssh 进入我网络上的机器。我忘记了其中一台机器的主机名。是否有我可以从一台机器发出的命令来广播请求并显示我局域网上机器的所有主机名?

Tak*_*kat 31

Avahi工具

Avahi 包中也有列出服务的工具。

  • 使用 [`avahi-browse -alr`](https://linux.die.net/man/1/avahi-browse) 可能更好。 (4认同)

xlu*_*asx 7

nbtscan

扫描网络上所有主机名的好工具是 nbtscan。

$ nbtscan 192.168.1.0/24                                                                                                  
Doing NBT name scan for addresses from 192.168.1.0/24

IP address       NetBIOS Name     Server    User             MAC address      
------------------------------------------------------------------------------
192.168.1.0     Sendto failed: Permission denied
192.168.1.162    CLEMENTINA          <server>  CLEMENTINA          00:00:00:00:00:00
192.168.1.205    CLEMENTINA          <server>  CLEMENTINA          00:00:00:00:00:00
192.168.1.255   Sendto failed: Permission denied
Run Code Online (Sandbox Code Playgroud)
  • 注意:这是用于 NetBIOS,而不是用于 mDNS。
  • 官方网站

您可以通过搜索“nbtscan”、通过他们的网站或通过终端在软件中心安装它:

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