1

10.10.0.0/16などの大規模なネットワークをスキャンしたいのですが、開いているポート22を探していますが、「OpenSSH5.1」を実行しているポートにのみ関心があります。

私が今までやってきたことは次のとおりです。

nmap -PN -T4 -sS -p 22 -sV 10.10.0.0/16 -oG test_results
cat test_results | grep 'OpenSSH 5.1'

これは機能しますが、ここが難しい部分です。Nmapは、スキャン範囲内のすべてのIPのポートスキャンが完了した後にのみサービススキャンを開始します。正しいですか?

しかし、IPの全範囲がスキャンされた後ではなく、単一のIPの各ポートスキャンの後に実行されているサービスを表示したい場合はどうなりますか。言い換えると:

  1. 1つのIPをポートスキャンし、ポート22が開いているかどうかを確認します。
  2. 22ポートが開いている場合は、ここでサービススキャンを実行します。
  3. サービス名が「OpenSSH5.1」と一致する場合は、スキャンの実行中に画面にIPをすぐに出力します。
  4. ポートは範囲内の次のIPをスキャンします...など...

私が理にかなっていることを願っています、ありがとう。

4

1 に答える 1

2

これは、効率上の理由から、Nmap が機能するように設計された方法ではありません。特に /16 ネットワークをスキャンしている場合、このアプローチは非常に非効率的であることがわかります。

ホストグループごとのホストの最大数を設定するために使用できる--max-hostgroupオプションに興味があるかもしれません。デフォルトでは、少数のポートのみのスキャンでより大きなホストグループが使用されるため、結果がすぐには表示されません (ただし、スキャンは全体的に高速になります)。完了時に 24 ホストの各バッチの結果を取得するために、24 などの低い値に設定できます。1に設定すると、必要な効果が得られます。

于 2012-09-11T20:04:20.503 に答える