ネットワーク上のデバイスの名前を取得する


13

ネットワーク上のすべてのデバイスの名前を知りたいのですが。私はすでに多くのコマンドをWebで見つけて大成功せずに試しましたが、思ったように機能するものはありませんでした。

基本的に、ルーターの設定を入力すると、ネットに接続されているデバイスの名前を取得できます。一部のアプリケーションでも取得できるので、何らかの方法で実行できると思います。

コマンドラインを介してWi-Fiネットワークに接続されているすべてのデバイスの名前のリストが必要です。

ありがとう


pi@raspberrypi ~ $ nmap -sP 192.168.4.0/24

Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-05 13:55 UTC
Nmap scan report for 192.168.4.1
Host is up (0.0055s latency).
Nmap scan report for 192.168.4.2
Host is up (0.42s latency).
Nmap scan report for 192.168.4.4
Host is up (0.045s latency).
Nmap scan report for 192.168.4.5
Host is up (0.47s latency).
Nmap scan report for 192.168.4.6
Host is up (0.0032s latency).
Nmap scan report for 192.168.4.7
Host is up (0.79s latency).
Nmap scan report for 192.168.4.8
Host is up (0.0024s latency).
Nmap scan report for 192.168.4.9
Host is up (0.038s latency).
Nmap scan report for 192.168.4.10
Host is up (0.034s latency).
Nmap scan report for 192.168.4.11
Host is up (0.029s latency).
Nmap scan report for 192.168.4.22
Host is up (0.12s latency).
Nmap scan report for 192.168.4.27
Host is up (0.031s latency).
Nmap scan report for 192.168.4.28
Host is up (0.012s latency).
Nmap scan report for 192.168.4.100
Host is up (0.0038s latency).
Nmap done: 256 IP addresses (14 hosts up) scanned in 49.30 seconds

回答:


8

私はこれにfingを使用する傾向があります。これは、現在のサブネットをスキャンし、ホスト名を抽出してIPおよびMACとともに表示しようとするスキャナーです。

例:

14:19:05 > Discovery profile: Default discovery profile
14:19:05 > Discovery class:   data-link (data-link layer)
14:19:05 > Discovery on:      192.168.1.0/24

14:19:05 > Discovery round starting.
14:19:05 > Host is up:   192.168.1.151
           HW Address:   XX:XX:XX:XX:XX:XX
           Hostname:     My-laptop-hostname

14:19:05 > Host is up:   192.168.1.1
           HW Address:   YY:YY:YY:YY:YY:YY
           Hostname:     router.asus.com

14:19:06 > Discovery progress 25%
14:19:07 > Discovery progress 50%
14:19:08 > Discovery progress 75%
14:19:05 > Host is up:   192.168.1.10
           HW Address:   AA:BB:CC:DD:EE:FF (ASUSTek COMPUTER)

14:19:05 > Host is up:   192.168.1.11
           HW Address:   GG:HH:II:JJ:KK:LL

14:19:06 > Host is up:   192.168.1.99
           HW Address:   MM:NN:OO:PP:QQ:RR (Apple)
           Hostname:     iPhoneOfSomeone

ご覧のとおり、すべてのデバイスがホスト名を提供しているわけではありません。たとえば、プリンタなどの一部の周辺機器は常にホスト名を提供するわけではありませんが、ほとんどのデバイスは提供します。MACのid部分を分析して、製造元を推測することさえ試みます

Raspberry Piで動作しますが、しばらく前にインストールしましたが、期待どおりに動作します。


1
fingはどのようにインストールしますか?リンクは無効であり、Raspberry Piリポジトリには含まれていません。
Patrick Cook、

5
その出力を取得するためにfingをどのように呼び出したかを説明してください。コマンドがなければ、答えは不完全です。
user666412 2017

2
apt-get install libpcap-dev ; wget https://www.fing.io/wp-content/uploads/2016/10/overlook-fing-3.0.deb ; dpkg -i overlook-fing-3.0.deb インストールに使用してfingから実行しました。それは私のRpiのホスト名を報告しませんでしたが、それをとして認識しましたHW Address: B8:27:EB:1B:E6:0C (Raspberry Pi Foundation)
Dave X

1
最初のテストネットワークでは、22台のデバイスネットワークでホスト名が1つも検出されませんでした。他の24台のホストでも同じです。Fing、今のところ(2018年2月)は混乱のようです。
ソパラホデアリエール

5
リンクはまだ正しいですか?現在、コマンドラインツールではなくIoT製品のようです。
Venryx

7

上記の答えはどれもうまくいかなかったので、arp-scanをいじり始めました。だから、私がうまくいったのは:

arp-scan -I [WIFI INTERFACE] -l

arp-scanはネットワークをスキャンし、デバイスを一覧表示します。-Iはインターフェースを選択し、-lはarp-scanにローカルネットワークを調べるように指示します。次に、

arp

これにより、配置されたばかりのデバイスarp-scanが返され、ホスト名とMACアドレスがリストされます。


6

問題、特にデバイス名の定義について、より正確にする必要があると思います。

残念ながら、現時点ではRaspberry Piにアクセスできないため、ここに表示されるものはすべて、私のDebian 7ボックスからのものです。

nmap -sP は逆DNSルックアップを行うため、デバイスに逆DNSエントリがある場合、その出力は次のようになります。

> nmap -sP 192.168.4.0/24
Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-12 06:24 CET
Nmap scan report for device1.local (192.168.4.1)
Host is up (0.0021s latency).
Nmap scan report for device2.local (192.168.4.2)
Host is up (0.014s latency).
…

pingプローブをブロックするホストは出力に表示されません。-pオプションを使用してスキャンするポートでサービスを提供しないホストも同様です。でポート範囲全体をスキャンしても-p 0-65535、大きなネットワークフットプリントが生成されますが、開いているポートがないホストは表示されません。

ネットワーク内のホストに関して信頼できる唯一の情報は、MACアドレスとIPアドレスがあることです。DHCPサーバーはIPアドレスを割り当てているので、両方を認識しています。さらに、多くのDHCPクライアントはDHCP要求に含まれるホスト名を送信するため、DHCPサーバーにはこのデバイスの名前があり、たとえその名前が他のどこにも表示されない場合でも(DNS、SMBなど)。

残念ながら、DHCPサーバーは動的に割り当てられたIPアドレスをネームサーバーに報告しないため、この情報を取得できません。

ネットワーク内のすべてのデバイスを見つけるには、すべてのホストにpingした後(たとえばを使用)、ARPテーブルをダンプしますnmap -sP

> arp -vn
Address               HWtype  HWaddress           Flags Mask            Iface
192.168.4.1           ether   12:34:56:78:9a:bc   C                     wlan0
192.168.4.2           ether   11:22:33:44:55:66   C                     wlan0
…

MACアドレスとIPアドレスを使用すると、ネットワークの近隣に関する一貫した情報のみが得られます。開いているポート445をプローブすると、SMB(つまり、Windowsネットワーク)をサポートしている可能性が最も高いデバイスが表示され、ウィンドウ名が表示されます。

他の開いているポート(21 / ftp、22 / ssh、23 / telnetなど)に接続することでもホスト名を提供できますが、常にプロトコルに依存する方法であり、ホストは理論的にはすべてのポートで異なる方法で自分自身を呼び出すことがあります。

あるいは、Piに独自のDHCPおよびDNSサーバーをセットアップし、機能する逆引きDNSサービスを提供することもできます。

すべてのデバイスがZeroconfをサポートしている場合、この方法でデバイスを検出できる可能性があります。


3

Windowsホストのデバイス名を取得するには、以下を使用します

nmap --script smb-os-discovery -p 445 192.168.1.0/24

(ソース:http : //www.blackbytes.info/2013/07/finding-windows-host/


Ciao Simone!これはWindowsホストでのみ機能しますが、ネットワーク上のすべてのデバイス名を検出する必要があります。
Federico Ponzi

1
私は間違っているかもしれませんが、Linuxマシンの「デバイス名」の概念がどうなるかはわかりません。私が考えることができる最も近いものは、/ etc / HOSTNAMEまたは/ etc / hostnameで定義されたホスト名ですが、マシンに問い合わせて取得できるかどうかはわかりません(もちろん、DNSサーバーが提供している場合を除きます) 。
rand

1

Linuxでは、を使用nbtscanして、求めるものを実現できます。

sudo apt-get install nbtscanインストールして実行します。

ネットワークに接続されているデバイスのホスト名を表示するには、

実行sudo nbtscan 192.168.0.1-192.168.0.255

ホストがに192.168.0.1あり、サブネットマスクを使用していると仮定します255.255.255.0。ネットワーク構成に応じてIP範囲を調整します。


これはNetBIOS名のみを解決できます。
Pierz

そして、私のテストでは、ネットワーク内のすべてのNetBIOS名が表示されていないようです。
ソパラホデアリエール

0

ここで言及する3つの回答は、nmap接頭辞sudo(どの回答もそうではありません)が世界ですべての違いを生むことを発見しました。

$ nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:55 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00037s latency).
Nmap scan report for 192.168.1.66
Host is up (0.00035s latency).
Nmap scan report for 192.168.1.67
Host is up (0.00028s latency).
Nmap scan report for 192.168.1.68
Host is up (0.00025s latency).
Nmap scan report for 192.168.1.70
Host is up (0.017s latency).
Nmap scan report for 192.168.1.254
Host is up (0.00070s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 6.86 seconds

$ sudo nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:56 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00050s latency).
MAC Address: 99:99:99:99:99:A6 (Unknown)
Nmap scan report for 192.168.1.66
Host is up (0.00016s latency).
MAC Address: 99:99:99:99:99:D9 (Sony)
Nmap scan report for 192.168.1.70
Host is up (-0.087s latency).
MAC Address: 99:99:99:99:99:36 (Unknown)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: 99:99:99:99:99:00 (Actiontec Electronics)
Nmap scan report for 192.168.1.67
Host is up.
Nmap scan report for 192.168.1.68
Host is up.
Nmap done: 256 IP addresses (6 hosts up) scanned in 2.41 seconds

コンピューターでコード化されたIPアドレスやMACアドレスではなく、人が読める名前をデバイスに表示する方法についてプロジェクトを研究しているため、このQ&Aに出会いました。

特に、99:99:99:99:99:36上記のMAC (実アドレスではない)の「(不明)」ではなく、「東芝43」4Kテレビを表示してほしい。

後で、ローカルエリアネットワークを越えてプロジェクトをインターネットに拡張し、自分のマシンが対話している外部IPアドレスを表示する代わりに、「Stack Exchange」が表示される999.999.9.99か、「Ask Ubuntu」が表示されるように999.999.9.99します。


-1

jcbermuは非常に近いですが、nmapのmanページから:

-sL (List Scan) .
       The list scan is a degenerate form of host discovery that simply lists each host of the network(s) specified, without sending any packets to the target hosts. By default, Nmap still does
       reverse-DNS resolution on the hosts to learn their names.

rDNSエントリに格納されている場合は、これが見つかります。そうでない場合は、DHCP要求をリッスンして、それらを傍受する必要がある場合があります。


-2

nmapが必要です。次のようなコマンドを発行します。

nmap -sP 192.168.1.0/24

サブネット上192.168.1.0 - 192.168.1.255でネットワーク検出を行い、そのネットワーク上のすべてのデバイスの名前とIPアドレスを表示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.