web-dev-qa-db-ja.com

プライベートネットワーク上のコンピュータ名を検索する(nmap?を使用)

LANでは、クロスプラットフォームプログラム(できればnmap)を使用して、接続されているすべてのコンピューターの名前を調べたいと思います。私はできることを知っています

nmap -sn xxx.xxx.xxx.xxx/24

(xxx.xxx.xxx.xxxはローカルIPアドレスです)稼働中のホストを見つけるには、コンピュータのホスト名を見つけるにはどうすればよいですか? nmapを使用して見つけることができる方法でこれをブロードキャストしますか?

PDATE: Angry IP Scannerがこれを実行できるようです。これはどのように行うのですか? nmapで複製できますか?

10
bsamek

NmapやAngry IPスキャナーなどの他のIPスキャナーを使用しました。私の観察は、NmapはDNSの逆引きを使用してホスト名を解決するため、DNSサーバーが機能するためにはホストの逆引きポインターレコードが必要であることを確認しました。他のスキャナーは、 Netbiosクエリ。

ターゲットネットワーク上のすべてのホストがWindowsホストであり、NETBIOSが有効になっていることが確実な場合は、 nbtscanツール を使用してそれらをスキャンできます。

0
Benny

Angry IP ScannerのFAQ( " Hostnames not shown ")から:

Angry IP Scannersは、DNS(名前)サーバーから返されたホスト名を 逆引き で表示します。サーバーにはIPアドレスが提供され、ホスト名がわかっている場合はホスト名が返されます。

一部のコンピューターがそれ自体の名前を知っている場合でも、ネットワークのDNSサーバーを提供しているわけではありません。つまり、ホスト自体が知っているホストの名前(ローカル名)と、DNSサーバーが知っているIPアドレスに付加された名前(グローバル名)が常に一致するとは限りません。

多くの場合、DNSクエリはいくつかの一般的な名前を返します。 dhcp-12-13.superisp.com、特にISPネットワークで。

次のいずれかの場合に名前が一致します。

  • コンピュータが名前をDHCPサーバーに送信し、そこからIPアドレスを取得し、DHCPサーバーがローカルDNSサーバーに名前を提供した
  • 静的IPアドレスがあり、ローカルホスト名がネットワークのグローバル命名規則に一致するルールに従って構成されている
  • ホストのTCPスタックは、ローカルIPアドレスが照会されるとローカル名を返し、グローバル名を要求しません

Nmapのドキュメントから( " Host Discovery "):

デフォルトでは、ホストでNmapは 逆DNS解決 を実行して、ホスト名を学習します。

追加の読み取り/情報はこちら

3

ネットワーク上のマシンの名前を取得するには、--system-dnsを指定する必要があることがわかりました。これが機能する理由はわかりません。 DNSの構成方法に予期しない何かがあるのでしょうか?

PDATE:実際には、1つのVLANでは機能しますが、別の機能では機能しませんが、Angry IP Scannerは両方で機能します。

1
bsamek

nmap -A xxx.xxx.xxx.xxxを使用することもできます。出力にホスト名が表示されます。私のネットワークでは、それをgrepにパイプして、必要な情報だけを取得します。 〜grep -e 'scan report' -e 'Computer name'

0
linuxfreak003