web-dev-qa-db-ja.com

nmapは、LAN内のすべての有効なホスト名とIPを検索します

すべての稼働中のマシンを表示するnmapコマンドをどのように発行できますか[〜#〜] ip [〜#〜]アドレスと対応するhostname =接続しているLAN内のs? (これが別の方法/ツールで実行できる場合は、確かに答えることができます)

87
şaloma

5.30BETA1より前のnmapバージョン:

nmap -sP 192.168.1.*

新しいnmapバージョン:

nmap -sn 192.168.1.*

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

EDIT:Nmap 5.30BETA1 [2010-03-29] 現在、-sPは、-snに置き換えられ、コメントが示すように、ポートスキャンをスキップしながらpingスキャンを実行します。

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

  • -nリバースDNSなし
  • -Pnホスト検出なし
  • -snポートスキャンなし
92
Cheesebaron
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
9

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

nmap 192.168.8.*

または

nmap 192.168.8.1/24
5
Jubal

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

4
sysadmin1138

次のコマンドを使用できます。

nmap -v -A $IP
2
EviLiNsiDe

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
2
radius

LANに指定されたIPがないため、192.168であると想定できますが、常にそうであるとは限らないため、最初に、IPアドレスとサブネットマスクを検出します。

これにはifconfigを使用し、結果をクリーンアップするにはregexpを使用します

今あなたのIPが192.168.0.100であり、あなたのマスクが255.255.255.0であると仮定すると、あなたはそのように1-254をスキャンすることができます

nmap -sn 192.168.0.1-254 
or 
nmap -sn 192.168.0.0/24

ホスト名とMACアドレスも確認するには、これをrootとして実行します。そうしないと、すべてのスキャンが非特権ユーザーとして実行され、すべてのスキャンでTCP Connect(complete 3-way handshake )何かを取得するには、ルートとしてSynを実行し、3ウェイハンドシェイクを完了する必要はありません。

これは基本的に、あなたの質問に答え、あなたが望むものを得るために必要なものです。豊富なパラメータがありますが、それぞれに特別な目的があります。

----編集

hostnameに気づきました。複数のスクリプト(そのうちの1つはnbstat.nse)を実行し、ホスト名を返すため、サービス検出スキャンを使用できます。スキャンするすべてのマシンのホスト名を取得することを期待しないでください。

nmap -sV target

または、特定のnbstat.nseスクリプトを実行して、時間と労力を得ることができます。

nmap -sU -p137 --script nbstat.nse target

nbstat.nseはUDPポート137を使用します。場合によっては、snmp-interfacesスクリプトを使用してSNMPからホスト名を取得することもありますが、その場合はUDPポート161を開く必要があります。

nmap -sU -p161 --script snmp-interfaces.nse target
0
nassim

これが別の方法/ツールで実行できる場合は、きっと答えることができます

次のようにarpコマンドを使用するだけです。

$ arp -a
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

0
spetzz