web-dev-qa-db-ja.com

ネットワーク上のIPに関連付けられたホスト名をどのように判断できますか?

ネットワーク上のIPに関連付けられたホスト名をどのように判断できますか? (逆引きDNSを構成せずに)

これは不可能だと思っていた。ただし、携帯電話で Fing を使用しています。 (おそらくarp-scanを使用して)ネットワーク上のすべてのデバイスを検出し、ホスト名とともにリストすることができます。

たとえば、このアプリは、ホームルーターに接続された、新しくインストールされたDebian Linuxデバイスを見つけることができます。逆DNSはありません。

私が知る限り、 pingNeighbor Discoveryarp もホスト名を含みません。では、fingは、新しくインストールされたLinux PCでこれをどのように取得できるのでしょうか。 Linuxマシン上の他のどのプロトコルがマシンの構成されたホスト名を提供しますか?

11
Philip Couling

zeroconf プロトコルスイート( Wikipedia )がこの情報を提供できます。

最もよく知られている実装は、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...
16
roaima

Linuxでは、DigまたはHostを使用できます。例:

Dig -x 192.0.2.1

Host 192.0.2.1

Windowsでは、次のようにping -aを使用できます。

ping -a 192.0.2.1
0
mjoao