
ドメイン/サブドメインのリストを受け取り、動作しているHTTP/HTTPSサーバーを探索します。
FProbe - 高速HTTPプローブ
GO111MODULE=on go get -u github.com/theblackturtle/fprobe
Status Code、Content Type、Locationなどの追加ヘッダーを含むJSON形式の詳細出力。Usage of fprobe:
-c int
同時実行数 (デフォルト 50)
-cidr
CIDRからIPアドレスを生成
-i string
入力ファイル (デフォルトは標準入力) (デフォルト "-")
-l 同じ行でポートを使用 (google.com,2087,2086)
-p value
追加のプローブを追加 (プロトコル:ポート)
-prefer-https
HTTPSが失敗した場合のみプレーンHTTPを試す
-s デフォルトのプローブ (http:80 および https:443) をスキップ
-t int
タイムアウト (秒) (デフォルト 9)
-v 詳細出力を有効にする
標準入力
❯ cat domains.txt | fprobe
ファイル入力
❯ fprobe -i domains.txt
❯ cat domains.txt | fprobe -c 200
各ドメインに特別なポートを使用したい場合は、-lフラグを使用できます。Nmap/Masscanの出力を解析し、この機能を使用するために再フォーマットできます。
入力 (domains.txt)
google.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053
yahoo.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053
sport.yahoo.com,2086,443,2096,2053,8080,2082,80,2083,8443,2052,2087,2095,8880
コマンド
❯ cat domains.txt | fprobe -l
❯ cat domains.txt | fprobe -t 10
❯ cat domains.txt | fprobe -p http:8080 -p https:8443
❯ echo 'https://google.com/path1?param=1' | fprobe
https://google.com/path1?param=1
❯ echo '192.168.1.1/24' | fprobe -cidr
❯ cat domains.txt | fprobe -p medium/large/xlarge
ポート80でのHTTPまたはポート443でのHTTPSをプローブしたくない場合は、-sフラグを使用できます。
❯ cat domains.txt | fprobe -s
詳細出力はJSON形式で、Status Code、Content Type、Locationなどの追加ヘッダーを含みます。
❯ cat domains.txt | fprobe -v
{"site":"http://google.com","status_code":301,"server":"gws","content_type":"text/html; charset=UTF-8","location":"http://www.google.com/"}
{"site":"https://google.com","status_code":301,"server":"gws","content_type":"text/html; charset=UTF-8","location":"https://www.google.com/"}
このツールは、@tomnomnomによって書かれた httprobe からアイデアといくつかのコード行を得ています。