
Resolvedor rápido de IP para hostname com PTR, consulta SSL/TLS, SNI, JSON.
whathost é uma ferramenta de reconhecimento de alto desempenho projetada para profissionais de segurança, testadores de penetração e caçadores de bug bounty. Ela resolve rapidamente endereços IP para hostnames por meio de inspeção de certificados SSL/TLS e consultas DNS PTR, fornecendo enumeração abrangente de hosts para avaliações de segurança.
Enumeração de Certificados SSL/TLS
:8443, :8080)Consultas DNS PTR
Otimização de Desempenho
Flexibilidade de Saída
Confiabilidade
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
Verificação rápida a partir de ficheiro:
whathost -i targets.txt
Pipeline a partir de stdin:
cat ips.txt | whathost
Varredura de alta velocidade com 100 workers:
whathost -i targets.txt -t 100
Modo silencioso para saída limpa:
whathost -i targets.txt -silent | sort -u
Enumeração somente SSL (ignorar DNS):
whathost -i targets.txt -skip-dns -t 200
Somente DNS com resolvedor personalizado:
whathost -i targets.txt -skip-ssl -r 8.8.8.8 -p 53
Saída JSON com estatísticas:
whathost -i targets.txt -json -stats -dedupe > results.json
Varredura com limitação de taxa e atraso:
whathost -i targets.txt -delay 100ms -timeout 15
SNI personalizado para hosts virtuais:
whathost -i targets.txt -sni example.com -insecure
Depuração detalhada:
whathost -i targets.txt -v -stats
Fluxo de trabalho completo de reconhecimento:
cat targets.txt | whathost -t 100 -dedupe -timestamp -o results.txt -stats
| Flag | Alias | Descrição |
|---|---|---|
-i | Arquivo de entrada contendo IPs (padrão: stdin) | |
-o | Arquivo de saída para resultados (padrão: stdout) | |
-json | Exibe os resultados em formato JSON | |
-silent | -s | Modo silencioso - exibe apenas os hostnames |
-timestamp | Adiciona timestamps RFC3339 aos resultados |
| Flag | Alias | Descrição |
|---|---|---|
-t | -threads | Número de workers concorrentes (padrão: 32) |
-delay | Atraso entre requisições (ex.: 100ms, 1s) | |
-timeout | Timeout do cliente HTTP em segundos (padrão: 10) |
| Flag | Alias | Descrição |
|---|---|---|
-r | -resolver | Endereço IP do resolvedor DNS personalizado |
-p | Porta do resolvedor DNS (padrão: 53) | |
-protocol | Protocolo DNS: udp ou tcp (padrão: udp) | |
-dns-timeout | Timeout da consulta DNS em segundos (padrão: 5) | |
-skip-dns | Ignora consultas DNS PTR |
| Flag | Descrição |
|---|---|
-sni | Substitui o hostname SNI para conexões SSL |
-insecure | Ignora a verificação do certificado TLS (padrão: true) |
-skip-ssl | Ignora as verificações de certificado SSL |
| Flag | Alias | Descrição |
|---|---|---|
-dedupe | Remove hostnames duplicados na saída | |
-stats | Exibe estatísticas detalhadas ao final | |
-v | -verbose | Saída detalhada com informações de depuração |
-banner | Exibe o banner ASCII na inicialização | |
-version | Exibe informações de versão |
[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
cat ct-log-ips.txt | whathost -skip-dns -t 200 -silent