# httpx: sondagem HTTP e fingerprinting web para recon

> Como instalar e executar o httpx, ler sua saída JSON, e como o Tandera o usa para transformar uma lista de hostnames em uma superfície de ataque viva e fingerprintada.

O `httpx` pega uma lista de hosts e diz quais realmente servem HTTP, e o que eles são. É a etapa que converte um monte de hostnames especulativos em uma superfície de ataque real — status codes, títulos, tecnologias, detalhes de TLS, cadeias de redirecionamento.

Não confunda com o `httpx`, o cliente HTTP Python no PyPI. Projeto diferente, mesmo nome.

## Instalação

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

Se você também tiver o `httpx` Python instalado, os binários colidem. Renomeie um ou chame este pelo caminho absoluto.

## Comandos principais

```bash
# sonda uma lista de hosts, mantém só o que responde
httpx -l hosts.txt -silent

# a passada de fingerprinting que vale rodar por padrão
httpx -l hosts.txt -silent -title -tech-detect -status-code -content-length

# detalhe completo em linhas JSON
httpx -l hosts.txt -json -o probe.jsonl -tls-grab -favicon -jarm

# portas fora do padrão
httpx -l hosts.txt -ports 80,443,8080,8443,8000,9000 -silent
```

O `-tech-detect` usa fingerprints do Wappalyzer e é a flag que justifica seu custo — é assim que você acha a instalação WordPress que ninguém mencionou. O `-favicon` retorna um hash mmh3, que é como você pivota para o Shodan e encontra todo outro host rodando a mesma aplicação.

## Saída

```json
{"timestamp":"2026-08-29T10:00:00Z","url":"https://api.example.com","status_code":200,
 "title":"Example API","tech":["nginx","OpenResty"],"webserver":"nginx",
 "content_length":1544,"favicon":"-1545961456","host":"93.184.216.34"}
```

## Onde ele entra no Tandera

O httpx é a etapa de **fingerprint** em `recon_web_lite`, `recon_web_full` e `recon_api` — a única ferramenta agendada nos três fluxos voltados para web. Tudo depois dele depende do conjunto de hosts vivos que ele produz.

O Tandera também o roda uma segunda vez como `httpx_screenshot` na fase de **enrich**, capturando screenshots de página que viram evidência anexada a findings. Um screenshot é o que torna um painel admin exposto legível para um cliente lendo o relatório meses depois.

## Usando em um pentest

**Sonde além de 80 e 443.** O comportamento padrão perde a aplicação na 8443 que ninguém documentou, que é exatamente onde estão as coisas interessantes.

**Preste atenção nos status entediantes.** Uma parede de 403s numa faixa de subdomínios geralmente significa um WAF ou um vhost padrão, não uma aplicação endurecida — e diz que o hostname resolve para infraestrutura compartilhada. Um 401 é mais interessante que um 200: há algo ali e quer credenciais.

**Hashes de favicon são um pivô, não um finding.** Colete-os com `-favicon`, depois busque o hash no Shodan para achar hosts irmãos que as fontes passivas perderam.

```bash
subfinder -d example.com -silent | dnsx -silent | \
  httpx -silent -title -tech-detect -status-code -favicon -json -o live.jsonl
```

---

Canonical: https://tandera.io/pt-br/tools/httpx
This page as markdown: https://tandera.io/pt-br/tools/httpx.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
