すべての稼働中のマシンを表示するnmapコマンドをどのように発行できますか[〜#〜] ip [〜#〜]アドレスと対応するhostname =接続しているLAN内のs? (これが別の方法/ツールで実行できる場合は、確かに答えることができます)
5.30BETA1より前のnmapバージョン:
nmap -sP 192.168.1.*
新しいnmapバージョン:
nmap -sn 192.168.1.*
これにより、ホスト名とIPアドレスが提供され、ホストにpingを送信するだけでそれらを検出できます。これは、ホスト名ifをroot
として実行する場合にのみ提供されます。
EDIT:Nmap 5.30BETA1 [2010-03-29] 現在、-sP
は、-sn
に置き換えられ、コメントが示すように、ポートスキャンをスキップしながらpingスキャンを実行します。
以前は、-PNおよび-sPオプションが推奨されていました。これにより、スキャンのフェーズを無効にするいくつかのオプションのより規則的な構文が確立されます。
- -nリバースDNSなし
- -Pnホスト検出なし
- -snポートスキャンなし
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
サブネット全体をスキャンでき、ワイルドカードも使用できます。
nmap 192.168.8.*
または
nmap 192.168.8.1/24
NMAPは問題のIPアドレスの「逆引き」を返しますが、正引きアドレスを返すことはできません。または、名前ベースの仮想ホスティングを行うWebサーバーの場合のアドレス。 Nmapはこのためのツールではありません。
次のコマンドを使用できます。
nmap -v -A $IP
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
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
これが別の方法/ツールで実行できる場合は、きっと答えることができます
次のようにarp
コマンドを使用するだけです。
$ arp -a
ローカルネット内のすべての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