1

基本的に、Web サーバーでバージョン apache 2.2.4 などを実行する Web サーバーをスキャンしようとしていますが、これを行う最善の方法は何ですか?

ポート80を開いてWebサーバーを有効にして、何とか何とかから何とかIPの範囲をスキャンしてから、IPをロードして必要なサーバーバナーがあるかどうかを確認するスクリプトを作成します。

または、代替のより高速な方法は何ですか?

基本的にはShodanHQのようなスクリプトを作ろうとしています。

特定のバージョンを実行している大量の Web サーバーを取得しようとしています。誰かが私に指示を与えることができますか?

4

2 に答える 2

1

ShodanScans.ioのようなインターネット全体の調査を行うには、非常に高帯域幅のアクセス、ISP からの法的な承認 (または少なくとも目をつぶる)、そしておそらくZmapmasscanのような非同期スキャナーが必要です。Nmap は、--min-rate引数を使用したまともな代替手段です。OS でデフォルトの TCP スタックを使用するもの (例: curlnetcatまたは Perl ソリューション) は、大量のパケットと必要なターゲット数に対応できません。

ただし、小規模なネットワーク (たとえば、65K アドレスの /16) をスキャンする場合は、Nmap が最適であり、非同期スキャナーよりもセットアップが少なくて済みます (ネイティブ TCP スタックが応答しないようにファイアウォール設定が必要なため)。返されたプローブに)、広く利用可能です。次のコマンドを使用すると、適切なパフォーマンスを得ることができます。

sudo nmap -v -T5 -PS80 -p80 -sS --script http-server-header -oA scan-results-%D%T 10.10.0.0/16

これは次のように分類されます。

  • -v- 詳細出力
  • -T5- 最速のタイミング オプション。これは、ネットワークによっては多すぎる場合があります。-T4結果が失われたと思われる場合は試してください。
  • -PS80- ポート 80 (オープンまたはクローズ) で応答するホストのみを考慮してください。
  • -p80- 稼働中のホストでポート 80 をスキャンする
  • -sS- 最高のタイミング パフォーマンスを持つ Nmap のハーフ オープン SYN スキャンを使用する
  • --script http-server-header- このスクリプトは、基本的な GET 要求からサーバー ヘッダーを取得します。あるいは、 を使用http-headersしてすべてのヘッダーを取得するか、 を使用-sV --version-lightしてプローブ応答から基本的なバージョン検出を行うことができます。
  • -oA scan-results-%D%T- 3 つの形式を別のタイムスタンプ付きファイルに出力します。Nmap XML 出力をインポートする多くのツールの 1 つを使用して、結果を処理できます。
于 2014-09-27T12:41:56.277 に答える
-1

curlとを使用できますsed

curl -sI 'http://192.0.2.1' | sed -n 's/^Server:[[:blank:]]*//p'

次のコマンドで perl から呼び出します。

perl -e '$server=`curl -sI 'http://192.0.2.1' | sed -n 's/^Server:[[:blank:]]*//p'`; print $server'

curl の -I オプションは、HEAD リクエストを使用して http ヘッダーを出力します。

于 2014-09-26T22:43:02.430 に答える