web-dev-qa-db-ja.com

nmapを使用してクラスBネットワークをスキャンする高速で信頼性の高い方法

クラスBネットワークを短期間でnmapスキャンする必要があります。要件は非常に簡単です。したい:

  1. できるだけ速くスキャンする
  2. 信頼性を維持しながらポイント1を満たします(10分の1の欠落も許容されます)
  3. 他のネットワークユーザーへの混乱を最小限に抑えながらポイント1を達成

ネットワーク内からスキャンします。これが私がこれまでに決めたものです。
nmap -p 0-65535 172.22.0.0/16(ポート範囲とIPは単なるサンプルです)
-Pnホスト検出をスキップ
--min-hostgroup 256一度に256個のIPアドレスをスキャン
--ttl 10これにより、ネットワークノイズが減少すると思います。私が間違っていれば訂正してください
--max-retries 1信頼性をあまり犠牲にすることなく、スキャンを高速化できることがわかりました

これが私の質問です

  1. オプションの使用を考えています -T4 ですが、信頼性や他のユーザーのネットワーク速度にどの程度影響するかはわかりません。このオプションを使用するかどうかをどのように判断すればよいですか?
  2. 要件2および3に影響を与えずにスキャン速度を向上させる他の確実な方法はありますか?
3
akgren_soar

基本的に、スキャンに時間がかかる原因は4つあります。

  1. 送信する必要のないプローブを送信する
  2. 待ち時間
  3. ドロップされたパケット
  4. ターゲットによる応答のレート制限

スキャンを高速化するには、通常、精度を維持しながら必要な速度に到達するまで、これらの各側面を測定して計画します。

1に関して、ここでの最大の問題は-Pnであり、これによりホストの検出が無効になります。 ホスト検出 は、どのアドレスがポートスキャン( "up")に値し、通常はそのアドレスが構成されているホストがないために応答しないアドレスをNmapが知る方法です。/16ネットワークでは、65536アドレスをスキャンします。ネットワーク上に5000の資産しかないことがわかっている場合、スキャンの92%が無駄になります。 -P*を使用してさまざまな-snオプションをいじって、ネットワークで適切に機能する一連のプローブが見つかるまで実際のポートスキャンを回避します。これで、-iLを使用して内部IDSセンサーからアクティブなアドレスのリストをインポートするなど、他の方法で検出を実行できる場合、-Pnを使用して、稼働していることがわかっているアドレスをスキップしないようにすることができますデフォルトの検出プローブに応答しないからです。

あなたが見逃しているかもしれないプローブのもう一つの潜在的な無駄は逆DNS名前解決です。これは優れた情報源であり、Nmapは非常に高速ですが、各アドレスのDNS名(PTRレコード)を知る必要がない場合は、-nを追加するとその段階を完全に廃止し、貴重な時間を節約します。

2の場合、レイテンシは通常、制御できないものです。ただし、Nmapに期待する待機時間を知らせることは賢明です。 LANを使用している場合、--max-rtt-timeoutを設定すると、Nmapに特定のパケットの応答を待つ時間が長すぎないように指示することで、スキャンを高速化できます。ただし、楽観的になりすぎないように注意してください。 Nmapが早くあきらめた場合、パケットはドロップされたものとしてカウントされ、それ以上スローされないようにスローダウンします。トライアル-snの実行からのレイテンシ情報を使用して、最悪のケースのアイデアを取得し、安全のためにそれを2倍にします。ネットワークが適度に高速であれば、それでもデフォルトよりは低くなります。

ドロップされたパケット(リストの3番目)と言えば、スキャンが速すぎると、これが不正確さの主な原因になります。リソースが非常に制約されている場合(ICSまたはIoTデバイスがそうである可能性がある場合)、独自のリンクまたはターゲット自体の機能を圧倒できます。ネットワークが高速で、多くのパケットがドロップされないほど十分に機能している場合は、--max-retriesをデフォルト(10)より小さい値に設定して、ビットを高速化できますが、不正確になる可能性があります。 Nmapはドロップされたパケットを検出して速度を落とすため、--min-rateを使用してパケットのファイアホースを継続しない限り、おそらく数秒以上他の人のトラフィックに影響を与えることはありません。

番号4は、ターゲットごとのレート制限です。制御できないため、トリッキーです(レート制限を行っていることによってスキャンマシンをホワイトリストに登録できない場合)。ただし、いくつかのトリックがあります。特定の種類のTCP RSTレート制限の場合、--defeat-rst-ratelimitオプションを使用すると、「filtered」というラベルの付いた一部のポートを犠牲にしてスキャン速度を維持できます。おそらく実際には「閉鎖」されています。開いているポートは影響を受けません。通常、これで問題ありません。

タイミングテンプレート(あなたが言及した-T4など)はこれらのオプションのいくつかを設定しますが、より具体的なオプションでいつでも自由にオーバーライドできます。各テンプレートで設定されているオプションを正確に確認するには、使用しているNmapのバージョンのマニュアルページを確認してください。 -T5--Host-timeoutオプションを設定することに注意してください。ターゲットが完了するまでに15分以上かかる場合(すべてのポートのスキャンで可能)、ドロップされ、出力は表示されません。

--ttlでIP TTLの値を低く設定しても、ルーティングループがない限り、ネットワークノイズは減少しません。 willプローブが10ホップ以上離れているターゲットに到達しないようにします(重要な場合)。

最後に、常に latest Nmap version available を必ず使用してください。私たちは常に、スキャンをより高速で信頼性の高いものにする改良を行っています。

7
bonsaiviking