UDPポートのスキャンでnmapをより速く取得するにはどうすればよいですか?この種のスキャンは、TCPポート(少なくとも2〜3回)よりも非常に低速です)
UDPスキャンは、プロトコルの動作方法の違いにより、TCPより遅くなる可能性があります(TCPを使用すると、ポートが開いていることを確認するのが簡単になりますスリーウェイハンドシェイクに)。
つまり、いくつかの方法でUDPスキャンの速度を上げることが可能です。ここで注意すべきことの1つは、適用するタイミングオプションが多すぎると、スキャンの精度が低下するリスクがあることです(つまり、nmapは物を見落とすことになります)。目標によっては、これが問題になる場合とそうでない場合があります。
これらに関する情報を入手するのに最適な場所の1つは、 nmapブック のタイミングとパフォーマンスのセクションにあります。
それから、私がよく使うもの
--max-rtt-timeout
これは、nmapが応答を待機する時間を制御し、スキャン速度のかなりの鍵となります。ここでできることは、pingなどを使用してリクエストの一般的な往復時間を測定し、これをベースとして使用することです。
--max-retries
別の答えで述べたように、これは便利です。私は0を設定しなかったり、見逃したりする可能性がありますが、スピードアップが役立つのを本当に見たい場合は1または2を設定します
--max-scan-delay
ホストの応答が遅いものをnmapすると、ホストの追加が開始され、スキャンが実際に遅くなる可能性があります。これを10ms程度に低く設定すると、速度が速くなりますが、不安定なホストや遅いホストを使用していると、見落とされる可能性があります
--min-hostgroup
あなたが行くときに結果を得ることについてあまり心配しておらず、これを増やすために多くのホストがいるなら、物事を改善するでしょう。 32または64のようなものは、全体的なスキャンを高速化します。
覚えておくべきもう1つの重要な点は、UDPの場合、バージョンスキャンを使用した場合にのみ良い結果が得られることです。これは、多くのUDPサービスが、受信するパケットが正しい形式である場合にのみ応答するためです。ただし、バージョンスキャンを実行すると処理が遅くなるため、急いでいる場合は
--version-intensity 0
バージョンスキャンを使用する場合。
Min-rateコマンドラインオプションを使用してみてください。
--min-rateオプションが指定されている場合Nmapは、指定されたレートと同じかそれより速いパケットを送信するために最善を尽くします。引数は、パケットのパケットレートを表す正の実数です。たとえば、-min-rate 300を指定すると、Nmapは毎秒300パケット以上の送信レートを維持しようとします。
例:nmap -sU --min-rate 5000 <targets>
UDPスキャンがTCPスキャンよりも遅いのには根本的な理由があります。UDPはコネクションレスです。つまり、Nmapは開いているポートとプログラムの違いを区別できませんスキャンパケットを静かに食べている、ファイアウォールでブロックされているポートが静かにパケットをドロップしている、またはネットワークの輻輳が原因で転送中にパケットが失われている。クローズドポートの場合、Nmapファイアウォールで保護されたポート、パケットの損失、またはICMP到達不能メッセージのレート制限の違い。したがって、ポートがデータまたはICMP到達不能メッセージを返さない限り、Nmapは複数のパケットをレート制限またはパケット損失の可能性を排除します。
@Tate Hansenの提案に加えて、--max-retries 0
の使用を検討してください。ターゲットも考慮する必要があります。 [一部]たとえば、LinuxはICMPポート到達不能応答を制限するため、スキャナーをどのように使用しても、ターゲットは依然として速度の要因です。 -F
スキャンの結果に基づいて必要と思われる場合は、-F
でポート範囲全体を再スキャンすることもできます。
うまくいけば、それが役立ちます。
まず、しないでください特に大きなポート範囲をスキャンする場合は、「nmap -sUVC」のようなものを使用します。これを行う場合、結果は多くのポートがopen | filteredとしてマークされている可能性が高く、nmapは実際のUDPスキャンおよびサービスバージョン検出でそれぞれに最大-再試行回数最大nmapのスキャンは徐々に遅くなります。
代わりに、ステージ1が次のように見える2つ以上のステージでUDPをポートスキャンする必要があります。
nmap -n -sU -p[...] --max-retries 1 targets
上記のRory McCuneが言及しているように、おそらくさらにパラメーターを調整します。
ホストが、すべてのポートが開かれている(または一部が閉じられ、ほとんどすべてが開かれている|)ことを示している場合は、このホストをスキップします。
ホストに多くの閉じたポートがあり、開いているまたは開いている|フィルタリングされているポートがいくつかある場合は、nmap -sUV -pLIST target
ここで、LISTは(おそらく)開いているポートのリストです。
スキャンのコンテキストに応じて、53、123、161などの非常に少数のポートでのクイックスイープが可能です。