
Toma una lista de dominios/subdominios y prueba para encontrar servidores http/https funcionales.
FProbe - Sonda HTTP rápida
GO111MODULE=on go get -u github.com/theblackturtle/fprobe
Status Code, Content Type, Location.Uso de fprobe:
-c int
Concurrencia (por defecto 50)
-cidr
Generar direcciones IP a partir de CIDR
-i string
Archivo de entrada (por defecto stdin) (por defecto "-")
-l Usar puertos en la misma línea (google.com,2087,2086)
-p value
Añadir sonda adicional (proto:puerto)
-prefer-https
Solo intentar HTTP plano si HTTPS falla
-s Omitir las sondas por defecto (http:80 y https:443)
-t int
Tiempo de espera (segundos) (por defecto 9)
-v Activar modo verbose
Entrada stdin
❯ cat domains.txt | fprobe
Entrada desde archivo
❯ fprobe -i domains.txt
❯ cat domains.txt | fprobe -c 200
Si quieres usar puertos especiales para cada dominio, puedes usar la bandera -l. Puedes parsear la salida de Nmap/Masscan y reformatearla para usar esta función.
Entrada (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
Comando
❯ 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
Si no quieres sondear HTTP en el puerto 80 o HTTPS en el puerto 443, puedes usar la bandera -s.
❯ cat domains.txt | fprobe -s
La salida verbose se formateará en JSON con algunas cabeceras adicionales, como 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/"}
Esta herramienta toma la idea y algunas líneas de código de httprobe escrito por @tomnomnom.