Nmap:範囲から無料のIPを見つける


14

ネットワーク上の無料のIPをスキャンする方法はありますか?私は使用してnmap -sP 192.168.1.0/24いますが、実際には稼働しているホストが表示されます。


10
pingに応答しないということは、必ずしも未使用を意味するわけではありません。
付与

1
nmapではなく、IPAMスキャナーが必要です。
TheCleaner 14

2
@Grant Nmapのホスト検出スキャン(「pingスキャン」とも呼ばれます)は、ICMPエコーリクエストだけでなく、さまざまなプローブを送信します。同じデータリンク上のアドレスに対しては、ARP要求が使用されますが、これは基本的に無視することはできません。
盆栽バイキング14

1
また、電源が入っていないホストもIPアドレスを持たないものとして表示されることを忘れないでください。
テロキルカネン

回答:


24

Nmapをこのように使用することは、いくつかの前提条件が満たされていれば、あなたが尋ねたことを行う正確な方法です。

  1. TCP接続ではなく、ARP要求を送信するには、ルート(またはWindowsの管理者)としてスキャンを実行する必要があります。そうしないと、単にファイアウォールで保護されている場合、スキャンはアドレスを「ダウン」として報告する場合があります。
  2. これは、スキャンするアドレス範囲と同じデータリンク(レイヤー2)上のシステムからのみ実行できます。それ以外の場合、Nmapはファイアウォールでブロックできるネットワーク層プローブを使用する必要があります。

「使用可能な」アドレスを取得するには、Nmapが「ダウン」として報告するアドレスのリストを取得する必要があります。これは、簡単なawkコマンドで実行できます。

sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

使用されるNmapオプションの概要:

  • この-vオプションを使用すると、Nmapは、検出されたアドレスを「上」に加えて「下」として出力します。
  • 代わりに-sP、新しいスペルを置き換えましたが-sn、これは同じスキャンを実行しますが、誤解を招く「Pingスキャン」の代わりに「ポートスキャンをスキップする」ことを意味します(ホスト検出フェーズは必ずしもICMP EchoスキャンまたはPingを意味しないため) )。
  • この-nオプションは逆引きDNSルックアップをスキップします。これは、名前に興味がなく、IPアドレスだけに関心があるため、少し時間がかかります。
  • この-oGオプションは、Nmapにgrepable形式を出力するように指示します。これは、awkが処理しやすい形式です。引数 " -"は、この出力をstdoutに送信するように指示します。

次に、awkコマンドは「Status:Down」を検索し、IPアドレスを含む2番目のフィールドを出力します。

もちろん、スイッチの実行設定またはDHCPサーバーのリースにアクセスできる場合、セキュリティアラームをオフにするスキャンを実行しなくても、この回答をはるかに信頼できる方法で取得できます。


1
将来の使用のためにこれを完全にブックマークし、私の質問ではありません:)
MartinC 14

1

n-mapについてはわかりませんが、各アドレスに1つのpingを送信するpingスクリプトを記述すると、「destination unreachable」で戻ってくるホストは占有されておらず、戻ってくるものは「request time out」であると合理的に想定できます占有されていますが、pingに応答していません。2つの応答の違いは、「宛先に到達できません」がARP要求に対する応答を受信しなかったことです。「リクエストのタイムアウト」とは、ARPリクエストには応答したがICMPパケットには応答しなかったことを意味します。


ルート権限で実行すると、Nmapは単にARP要求を実行し、応答するアドレスを報告します。
盆栽バイキング14

0

PowerShellでも同じことが言えます。...

((nmap -v -sn -n 10.208.2.0/24 -oG - ) -match "Status\:\sDown") | foreach {($_).Split(" ")[1]}

0

Anders Larssonに触発された別の1つ

172.18.5のIPの場合。{129..254}; do {ping -c 1 -W 1 $ ip; }&> / dev / null || echo $ ip&done | ソート

つまり、「範囲内のすべてのIPにpingを試行します。「ping」が失敗した場合、そのIPを印刷します」

もしあなたがそうするなら

nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

高速に動作しますが、「ダウン」と報告された一部のホストは実際には「アップ」であることに気付きました

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