Как просканировать тысячи сайтов и не сойти с ума — знакомимся с httpx

04 фев 2026
10,438
1,108
86
3 недели

Представьте ситуацию: вам нужно проверить состояние нескольких сотен (или тысяч) поддоменов. Кто-то еще жив, кто-то переехал на HTTPS, а у кого-то отвалились сертификаты. Можно, конечно, написать Bash-скрипт на коленке с curl, но как только дело дойдет до многопоточности, обработки редиректов и попыток обойти WAF, ваш скрипт превратится в неуправляемого монстра.

Для таких задач существует httpx — швейцарский нож для работы с HTTP-запросами в промышленных масштабах. Это не просто «еще один сканер», а продуманный тулкит от команды ProjectDiscovery, который делает рутинную проверку инфраструктуры быстрой и, что немаловажно, надежной.

httpx

Что это за зверь и зачем он вам?

httpx — это CLI-инструмент на языке Go, созданный для тех, кому нужно быстро «прощупать» огромное количество хостов. Его главная фишка в том, что он берет на себя всю грязную работу: делает умные ретраи, корректно обрабатывает таймауты и умеет вытаскивать из ответов серверов практически любую информацию — от заголовков до скриншотов.

Кому он будет полезен?

Реклама
  • DevOps-инженерам: для инвентаризации сервисов и проверки доступности после деплоя.
  • Специалистам по безопасности (AppSec): для поиска забытых «хвостов» в инфраструктуре и анализа поверхности атаки.
  • Разработчикам: когда нужно быстро проверить, как ведут себя API на разных эндпоинтах.

Пять причин, почему httpx должен быть в вашем терминале

Инструментов для HTTP-запросов много, но httpx выделяется несколькими ключевыми особенностями.

1. Умный фолбэк с HTTPS на HTTP

По умолчанию инструмент сначала стучится по защищенному протоколу. Если HTTPS не отвечает, он автоматически пробует HTTP. Вам не нужно заранее знать, какой протокол поддерживает хост — httpx разберется сам.

2. Невероятная детализация ответов

Обычный статус-код 200 — это скучно. httpx может выдать вам:

  • Заголовок страницы (<title>).
  • Технологический стек (Wappalyzer под капотом).
  • IP-адрес и CNAME записи.
  • Хеши иконок (favicon) и тела ответа (помогает найти клоны сайтов).
  • Наличие CDN или WAF (Cloudflare, Akamai и прочие).

3. Работа «из коробки» с CIDR и списками

Вам не нужно парсить диапазоны IP-адресов вручную. Просто скормите инструменту подсеть вроде 192.168.1.0/24, и он методично проверит каждый адрес. Кстати, он также отлично понимает формат выгрузки из Burp Suite.

4. Режим «без головы» (Headless)

Иногда простого GET-запроса мало. Если страница рендерится на клиенте через JS, httpx может запустить headless-браузер, дождаться отрисовки и даже сделать скриншот. Это киллер-фича для визуальной разведки.

5. Гибкая фильтрация и матчинг

Представьте, что вам нужны только те сайты, где в заголовке есть слово «Admin» и статус-код не 404. С httpx это делается одной командой:

httpx -l list.txt -title -mc 200 -ms "Admin"

Как это устроено внутри?

Проект написан на Go и использует библиотеку retryablehttp. Это критически важно для работы в нестабильных сетях или при сканировании через защитные барьеры (WAF). Если сервер начинает «капризничать», инструмент делает паузу (backoff) и пробует снова, не теряя данные.

Архитектура модульная: вы можете использовать его как готовую утилиту или как библиотеку в своем собственном Go-проекте. Это позволяет встраивать проверки доступности прямо в ваши микросервисы.

Практические кейсы: от теории к делу

Кейс №1: Быстрая инвентаризация

У вас есть файл domains.txt с тысячей доменов. Нужно понять, что на них крутится.

httpx -l domains.txt -sc -title -td -ip

Вы получите наглядный список: статус-код, заголовок страницы, определенные технологии (например, Nginx, React) и IP-адрес сервера.

Кейс №2: Поиск «битых» ссылок и редиректов

Хотите проследить всю цепочку редиректов?

httpx -u https://example.com -follow-redirects -location

Инструмент покажет, куда именно вас перебрасывает и на каком этапе цепочка обрывается.

Кейс №3: Сбор скриншотов для отчета

Когда нужно визуально оценить масштаб бедствия:

httpx -l targets.txt -screenshot -system-chrome

Инструмент создаст папку со скриншотами всех доступных страниц. Это в разы быстрее, чем открывать каждую ссылку вручную.

Как начать пользоваться?

Установка проще некуда (при условии, что у вас есть Go версии 1.24+):

go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Интересно, что разработчики из ProjectDiscovery создали целую экосистему инструментов, которые отлично работают в связке. Например, можно сначала найти поддомены через subfinder, а затем передать их по пайпу в httpx:

subfinder -d example.com | httpx -sc -title

Итог: стоит ли оно того?

Если ваша работа хоть немного касается веба, инфраструктуры или безопасности — однозначно да. httpx экономит часы времени, заменяя собой громоздкие скрипты. Он быстрый, стабильный и, что самое приятное, очень активно развивается сообществом.

Короткий совет напоследок: не запускайте сканирование в 500 потоков на живых продакшн-серверах, если не хотите, чтобы админы пришли к вам с вопросами. У httpx отличные дефолтные настройки, но всегда лучше начинать с малого.

Попробовать проект можно здесь: github.com/projectdiscovery/httpx

Знакомы с этим инструментом или используете что-то другое? Делитесь в комментариях!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.