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


10

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

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

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

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


3
どのホスト名?DNS名?DNSサーバーに問い合わせます。
ragnq

@ragnq nslookupはホスト名を提供しませんが、Angry Port Scannerは提供します。nmapやコマンドラインツールを使用してこれを行う方法を理解しようとしています。
bsamek

回答:


0

nmapとAngry IPスキャナーなどの他のIPスキャナーを使用しました。私の観察では、NmapはリバースDNSを使用してホスト名を解決したため、DNSサーバーが機能するには、ホストのリバースポインターレコードが必要です。他のスキャナーがNetbiosクエリを使用してPTRクエリをフォローアップしていることがわかりました。

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


3

Angry IP ScannerのFAQ(「ホスト名は表示されていません」)から:

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

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

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

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

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

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

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

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


Angry IP Scannerで作業しているネットワークで、おそらく逆DNSルックアップを実行することにより、ホスト名を表示します。あなたが言っているのは、nmapが逆ルックアップも行うということです。ただし、ホスト名は表示されません。ホスト名を表示するにはどうすればよいですか?それとも、これはその仕事のための間違ったツールですか?
bsamek

1

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

更新:実際には、あるVLANでは機能しますが別のVLANでは機能しませんが、Angry IP Scannerは両方で機能します。


0

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

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