
Быстрый преобразователь IP в имя хоста с PTR, поиском SSL/TLS, SNI, JSON.
whathost — это высокопроизводительный инструмент для разведки, предназначенный для специалистов по безопасности, пентестеров и охотников за уязвимостями (bug bounty). Он быстро преобразует IP-адреса в имена хостов с помощью анализа SSL/TLS-сертификатов и DNS PTR-запросов, обеспечивая комплексное перечисление хостов для оценки безопасности.
Перечисление SSL/TLS-сертификатов
:8443, :8080)DNS PTR-запросы
Оптимизация производительности
Гибкость вывода
Надёжность
go install gitlab.com/bountrix/whathost@latest
git clone https://gitlab.com/bountrix/whathost.git
cd whathost
go build -o whathost
sudo mv whathost /usr/local/bin/whathost
whathost -version
Быстрое сканирование из файла:
whathost -i targets.txt
Конвейер из stdin:
cat ips.txt | whathost
Высокоскоростное сканирование с 100 воркерами:
whathost -i targets.txt -t 100
Тихий режим для чистого вывода:
whathost -i targets.txt -silent | sort -u
Перечисление только по SSL (пропуск DNS):
whathost -i targets.txt -skip-dns -t 200
Только DNS с пользовательским резолвером:
whathost -i targets.txt -skip-ssl -r 8.8.8.8 -p 53
Вывод JSON со статистикой:
whathost -i targets.txt -json -stats -dedupe > results.json
Сканирование с ограничением частоты и задержкой:
whathost -i targets.txt -delay 100ms -timeout 15
Пользовательский SNI для виртуальных хостов:
whathost -i targets.txt -sni example.com -insecure
Подробная отладка:
whathost -i targets.txt -v -stats
Полный рабочий процесс разведки:
cat targets.txt | whathost -t 100 -dedupe -timestamp -o results.txt -stats
| Флаг | Псевдоним | Описание |
|---|---|---|
-i | Входной файл, содержащий IP-адреса (по умолчанию: stdin) | |
-o | Выходной файл для результатов (по умолчанию: stdout) | |
-json | Вывод результатов в формате JSON | |
-silent | -s | Тихий режим — вывод только имён хостов |
-timestamp | Добавление меток времени RFC3339 к результатам |
| Флаг | Псевдоним | Описание |
|---|---|---|
-t | -threads | Количество параллельных воркеров (по умолчанию: 32) |
-delay | Задержка между запросами (например, 100ms, 1s) | |
-timeout | Тайм-аут HTTP-клиента в секундах (по умолчанию: 10) |
| Флаг | Псевдоним | Описание |
|---|---|---|
-r | -resolver | Пользовательский IP-адрес DNS-резолвера |
-p | Порт DNS-резолвера (по умолчанию: 53) | |
-protocol | Протокол DNS: udp или tcp (по умолчанию: udp) | |
-dns-timeout | Тайм-аут DNS-запроса в секундах (по умолчанию: 5) | |
-skip-dns | Пропустить DNS PTR-запросы |
| Флаг | Описание |
|---|---|
-sni | Переопределить имя хоста SNI для SSL-соединений |
-insecure | Пропустить проверку TLS-сертификата (по умолчанию: true) |
-skip-ssl | Пропустить проверки SSL-сертификата |
| Флаг | Псевдоним | Описание |
|---|---|---|
-dedupe | Удалить дубликаты имён хостов в выводе | |
-stats | Показать подробную статистику по завершении | |
-v | -verbose | Подробный вывод с отладочной информацией |
-banner | Показать ASCII-баннер при запуске | |
-version | Отобразить информацию о версии |
[SSL-SAN] 143.43.221.133 -> example.com
[SSL-CN] 143.43.221.133 -> example.org
[DNS-PTR] 143.43.221.133 -> host.example.com
[SSL-SAN] 143.43.221.133:8443 -> api.example.com
{
"type": "SSL-SAN",
"ip": "143.43.221.133",
"hostname": "example.com",
"source": "certificate"
}{
"type": "SSL-CN",
"ip": "143.43.221.133",
"hostname": "example.org",
"source": "certificate"
}{
"type": "DNS-PTR",
"ip": "143.43.221.133",
"hostname": "host.example.com",
"source": "dns"
}{
"type": "SSL-SAN",
"ip": "143.43.221.133",
"hostname": "api.example.com",
"port": "8443",
"source": "certificate"
}
example.com
example.org
host.example.com
api.example.com
╔════════════════════════════════════════════╗
║ Statistics Report ║
╠════════════════════════════════════════════╣
║ Total IPs processed: 250 ║
║ SSL hostnames found: 487 ║
║ DNS PTR records: 198 ║
║ Unique hostnames: 623 ║
║ Failed checks: 12 ║
║ Time elapsed: 45.3s ║
║ Processing rate: 5.52 IPs/s ║
╚════════════════════════════════════════════╝
cat ip-ranges.txt | whathost -silent -dedupe | httprobe
whathost -i scope-ips.txt -stats -o discovered-hosts.txt
whathost -i company-ips.txt -json -dedupe > asset-inventory.json