
도메인/서브도메인 목록을 가져와 작동하는 http/https 서버를 탐색합니다.
FProbe - 빠른 HTTP 프로브
GO111MODULE=on go get -u github.com/theblackturtle/fprobe
Status Code, Content Type, Location 같은 추가 헤더를 포함합니다.Usage of fprobe:
-c int
Concurrency (default 50)
-cidr
Generate IP addresses from CIDR
-i string
Input file (default is stdin) (default "-")
-l Use ports in the same line (google.com,2087,2086)
-p value
add additional probe (proto:port)
-prefer-https
only try plain HTTP if HTTPS fails
-s skip the default probes (http:80 and https:443)
-t int
Timeout (seconds) (default 9)
-v Turn on verbose
Stdin 입력
❯ 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에서 아이디어와 일부 코드를 얻었습니다.