より多くのポートをスキャンすると、nmapは指数関数的に遅くなります。

より多くのポートをスキャンすると、nmapは指数関数的に遅くなります。

私は時々nmapを使ってホストをチェックします。例:nmap -sS -p- example.com
ただし、このコマンドは完了しません。

だからスキャンを小部分に分けました:(nmap -sS -p 0-999 example.com完了まで12秒)
nmap -sS -p 1000-1999 example.com(完了まで14秒)など。それは退屈。

より広い部分を使用する場合:nmap -sS -p 0-3999 example.com
完了するのに3分以上かかります。

30分経ってもまだnmap -sS -p 0-7999 example.com終わっていません。

したがって:
1000ポート - > 12秒
4000ポート - > 3分
9000ポート - > 30分

問題は何ですか?
nmapを使用してホストの開いているTCPポートを見つける方法は?

ベストアンサー1

Nmapは、各ポートの状態(オープン、クローズ、フィルタリング)を正確に見つける速度を見つけるために最善を尽くします。タイミングシステムは複雑でスキャン速度が非常に遅くなる可能性がある最悪のシナリオがあります。そのような状況の1つは、宛先がレート制限TCP接続リセット(RST)の場合です。これは、ポートが閉じたときにNmapがリッスンする応答です。システムのほとんどのポートは通常閉じられており、リソースを節約したり検索試行をブロックしたりするために、ターゲットオペレーティングシステムは毎秒1回だけRSTを実行することを選択できます。

NmapがRST速度制限を検出した場合は、その速度と一致するようにプローブ速度を下げる必要があります。そうしないと、応答が受信されないため、閉じたポートが「フィルタ済み」と表示されることがあります。これは、ファイアウォールがそのポートへのトラフィックを一貫して削除することと一致します。このような速度低下が徐々に発生するため、最初の数個のポートはその後のポートほど影響を受けません。また、閉じたポートにのみ影響を与えるため、1 ~ 1000 の間で一般的に使用されるポートは速度低下を引き起こす可能性が低くなります。

この問題の回避策がありますが、精度が低下します。ポートフィルタリングとポートクローズの違いを知りたくない場合は、この--defeat-rst-ratelimitオプションを使用してレート制限RSTがNmapのタイミングに影響を与えないようにすることができます。 Nmapはネットワークに適した速度で送信し続け、ドロップされたパケットを検出し、必要に応じて速度を遅くしますが、閉じたポートをフィルタリングされたものとしてマークします。オープンポートセットは、ほとんどの人が望むものとまったく同じでなければなりません。実際に--open閉じられ、フィルタリングされたポートに関する情報が完全に印刷されないように追加することもできます。

おすすめ記事