Принимает список доменов и проверяет наличие работающих HTTP и HTTPS серверов
Возьмите список доменов и проверьте, какие из них являются работающими http и https серверами.
▶ go install github.com/tomnomnom/httprobe@latest
httprobe принимает домены, разделённые переводами строк, из stdin:
▶ cat recon/example/domains.txt
example.com
example.edu
example.net
▶ cat recon/example/domains.txt | httprobe
http://example.com
http://example.net
http://example.edu
https://example.com
https://example.edu
https://example.net
По умолчанию httprobe проверяет HTTP на порту 80 и HTTPS на порту 443. Вы можете добавить дополнительные проверки с помощью флага -p, указав пару «протокол и порт»:
▶ cat domains.txt | httprobe -p http:81 -p https:8443
Уровень параллельности можно задать с помощью флага -c:
▶ cat domains.txt | httprobe -c 50
Вы можете изменить тайм-аут, используя флаг -t и указав значение в миллисекундах:
▶ cat domains.txt | httprobe -t 20000
Если вы не хотите проверять HTTP на порту 80 или HTTPS на порту 443, используйте флаг -s. При этом нужно указать нужные проверки с помощью флага -p:
▶ cat domains.txt | httprobe -s -p https:8443
Иногда вам не важно проверять HTTP, если HTTPS работает. Это можно сделать с помощью флага --prefer-https:
▶ cat domains.txt | httprobe --prefer-https
Соберите docker-контейнер:
▶ docker build -t httprobe .
Запустите контейнер, передав содержимое файла в stdin процесса внутри контейнера. Флаг -i обязателен для корректной передачи stdin в контейнер и бинарному файлу httprobe.
▶ cat domains.txt | docker run -i httprobe <args>