Networking

如何確定與網路上的 IP 關聯的主機名?

  • November 20, 2019

如何確定與網路上的 IP 關聯的主機名?(不配置反向 DNS)

這是我認為不可能的事情。但是我一直在我的手機上使用Fing 。它能夠找到我網路上的每個設備(可能使用 arp-scan)並用主機名列出它們。

例如,這個應用程序能夠找到插入家庭路由器的新安裝的 Debian Linux 設備,而沒有明顯的反向 DNS。

據我所知, pingNeighbor Discoveryarp都不包含主機名。那麼,如何為新安裝的 Linux PC 獲得此功能呢?Linux 機器上還有什麼其他協議會給出機器配置的主機名?

zeroconf協議套件(維基百科)可以提供此資訊。

最著名的實現是 AllJoyn(Windows 和其他)、Bonjour(Apple)、Avahi(UNIX/Linux)。

顯示 LAN 上所有內容列表的範例(在這種情況下不是很多):

avahi-browse --all --terminate
+  ens18 IPv6 Canon MG6650                                  _privet._tcp         local
+  ens18 IPv4 Canon MG6650                                  _privet._tcp         local
+  ens18 IPv6 Canon MG6650                                  Internet Printer     local
+  ens18 IPv4 Canon MG6650                                  Internet Printer     local
+  ens18 IPv6 Canon MG6650                                  UNIX Printer         local
+  ens18 IPv4 Canon MG6650                                  UNIX Printer         local
+  ens18 IPv6 Canon MG6650                                  _scanner._tcp        local
+  ens18 IPv4 Canon MG6650                                  _scanner._tcp        local
+  ens18 IPv6 Canon MG6650                                  _canon-bjnp1._tcp    local
+  ens18 IPv4 Canon MG6650                                  _canon-bjnp1._tcp    local
+  ens18 IPv6 Canon MG6650                                  Web Site             local
+  ens18 IPv4 Canon MG6650                                  Web Site             local
+  ens18 IPv6 SERVER                                        _device-info._tcp    local
+  ens18 IPv4 SERVER                                        _device-info._tcp    local
+  ens18 IPv6 SERVER                                        Microsoft Windows Network local
+  ens18 IPv4 SERVER                                        Microsoft Windows Network local

更具體地說,您可以使用avahi-resolve-address將地址解析為名稱。

例子

avahi-resolve-address 192.168.1.254
192.168.1.254 router.roaima...

引用自:https://unix.stackexchange.com/questions/552964