nmapはLAN内のすべての生きているホスト名とIPを見つけます


83

接続しているLAN内のすべてのアライブマシンのIPアドレスと対応するホスト名を表示するnmapコマンドを発行するにはどうすればよいですか?(これが別の方法/ツールで実行できる場合は、必ず回答してください)

回答:


90

5.30BETA1以前のnmapバージョン:

nmap -sP 192.168.1.*

新しいnmapバージョン:

nmap -sn 192.168.1.*

これにより、ホスト名とIPアドレスが提供され、ホストをpingするだけでホストが検出されます。これは、として実行する場合にのみホスト名を提供しますroot

編集:コメントが示すように、ポートスキャンをスキップしながら、pingスキャンを実行するための好ましい方法として、Nmap 5.30BETA1 [2010-03-29]の 時点で-sP置き換えられました-sn

以前は、-PNおよび-sPオプションが推奨されていました。これにより、スキャンのフェーズを無効にするいくつかのオプションのより規則的な構文が確立されます。

  • -nリバースDNSはありません
  • -Pn no host discovery
  • -snポートスキャンなし

6
これは、ICMPに応答するマシンのみを返すことに注意してください。ICMPを特にブロックしているマシンは表示されません
マットシモンズ

10
@MattSimmons nmapが実行されroot、IPがローカルネットワーク(サーバーがサブネットのメンバー)からのものである場合、ARP要求が送信されます。だからでしょう誰も本当にブロックARPパケットので、任意の生きているマシンを検出します。ああ、そして新しいnmapバージョンではそれは機能します-sn-sPでも動作します)。
ヒューバートカリオ

4
このコマンドでホスト名を取得していません。提案?
-daviesgeek

@daviesgeekはrootで実行しようとしましたか?
チーズバロン

3
@チーズバロンああ。それでおしまい。追加しないと、ホスト名は表示されません。
-daviesgeek

9
nmap -sP 192.168.1.0/24

名前解決は、reverse-dnsの人口と同じくらいだけ良いことに注意してください。また、これはping(実際にはすべてのWindowsワークステーションがデフォルトである)に対してファイアウォールで保護されたシステムを取得しないことに注意してください。

システムのローカル(つまり、同じサブネット上)にいる場合は、次のようなことができます。

for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done

...しかし、私がループで包み込むと、時々奇妙なことが起こります。また、次のようなものを使用して、自分でルックアップを行う必要があります

dig +short -x $IP

arpソリューションは遅いが正常に動作し、nmapソリューションはすべてのIPをオンラインで見つけることができません
-elbarna

5

サブネット全体をスキャンできます。ワイルドカードも使用できます。

nmap 192.168.8.*

または

nmap 192.168.8.1/24

4

NMAPは問題のIPアドレスの「逆ルックアップ」を返しますが、前方ルックアップアドレスを返すことはできません。または、名前ベースの仮想ホスティングを行うWebサーバーの場合のアドレス。Nmapはこのためのツールではありません。


2
どのツールを使用しますか?
シャロマ

これを行うものは何も知りません。
sysadmin1138

2

nmap -sP 192.168.0.0/24は次のような出力をします:

> nmap -sP 192.168.0.0/24

Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds

1
マシン名はどのようにして知ることができますか?次のようにホスト名を取得します。dhcp-186-241.abc.dk dhcp-186-250.abc.dk .... たとえば、hostnameubuntuターミナルで発行すると次のようになりますinfestor-pcが、nmapはホスト名をとして表示しdhcp-186-250.abc.dkます。「フレンドリーな」ホスト名を表示する方法はありますか?
シャロマ

ノー唯一の方法は、DNSにコンピュータ名を登録することです
半径


0

ローカルネットのすべてのIPをpingする最良かつ最速の方法は、DNS逆解決を無効にすることです。

つかいます :
NMAP -sn 192.168.1.1-255

これにより、IPアドレス範囲192.168.1.1-192.168.1.255の255ホストすべてがスキャンされます。

簡単に解析可能なファイルが必要な場合

つかいます :
NMAP -sn -oG Name.txt 192.168.1.1-255



-1

これを実行する必要があると思います:

sudo nmap -sU --script nbstat.nse -p137 10.10.10.*

これにより、既存の回答に何も追加されず、さらに、共有が有効になっているWindowsホストのみが検出されます。確かに、OPが望んでいたよりも具体的です。
スコットパック

ネットワーク共有を無効にしても引き続き機能します。ネットワーク探索のみを有効にする必要があります。これはプライベートネットワークのデフォルトです。
ジョンホーマー14

-1

これを試してください:IP範囲の例:10.1.0.0-10.1.255.255

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