# Interceptador

> Interceptador do CatSuite: como usar e configurar a fila, editar requests e responses, Site Map, histórico com filtros e exportação HAR, JSON, TXT e cURL.

- Idioma: pt-BR
- URL canônica: https://netcattest.com/catsuite/docs/modulos/interceptador
- Seção: Módulos
- Atualizado: 2026-10-06
- Outro idioma (en): https://netcattest.com/catsuite/en/docs/modules/interceptor

O **Interceptador** é o módulo de controle ao vivo do tráfego no CatSuite: ele pausa cada **request** e cada **response** em uma fila, permite revisar e editar **método, URL, headers, cookies e corpo** antes do encaminhamento e mantém todo o **histórico** organizado por domínio, com **Site Map** por host e endpoint, **comparação** lado a lado e **exportação em HAR, JSON, TXT e cURL**. Esta página explica cada conceito, cada opção e como usar e configurar o Interceptador passo a passo, sempre contra um alvo autorizado.

> [!AVISO]
> Interceptar, editar e reenviar tráfego pode afetar apps, sessões e serviços no aparelho. Use o Interceptador apenas no fluxo que você mesmo iniciou e contra sistemas que tem autorização por escrito para testar. Veja [Segurança e uso responsável](https://netcattest.com/catsuite/docs/seguranca).

## O que é o Interceptador e para que serve

O Interceptador resolve um problema central da análise web: olhar e mexer no tráfego **no momento em que ele acontece**. Em vez de ler um registro depois do fato, você segura a mensagem no caminho, inspeciona o conteúdo e **decide o que segue adiante** — encaminhar como está, editar e encaminhar, ou descartar.

Quando a interceptação está **ligada**, cada mensagem vinda do [Proxy de Rede](https://netcattest.com/catsuite/docs/modulos/proxy) ou do [Navegador](https://netcattest.com/catsuite/docs/modulos/navegador) para em uma **fila**. Quando está **desligada**, o tráfego passa direto e fica apenas registrado no **histórico**, se o histórico estiver habilitado.

Casos de uso típicos:

- Parar um login ou uma chamada de API para ver exatamente quais headers e cookies o cliente envia.
- Trocar um parâmetro do corpo ou uma URL antes de a request chegar ao servidor.
- Alterar o status, os headers ou o corpo de uma **response** para testar como o app cliente reage.
- Montar o mapa de hosts e endpoints de um alvo conforme você navega.
- Comparar duas capturas lado a lado e exportar as evidências em HAR, JSON, TXT ou cURL.

O Interceptador é um **ponto de inspeção local**: ele opera sobre o proxy do próprio aparelho, sem servidores intermediários. As capturas e as preferências ficam no armazenamento privado do app.

## Conceitos essenciais do Interceptador

Antes de mexer nas opções, vale entender os termos que aparecem na tela. Cada conceito abaixo tem reflexo direto em um painel ou botão do módulo.

### Interceptação de requests e responses

**Interceptar** é segurar a mensagem antes de ela seguir. Por padrão, o Interceptador pausa as **requests** (o que o cliente envia). Com a opção **Interceptar response** ligada, ele também pausa a **response** (o que o servidor devolve) depois que a request é encaminhada, abrindo um segundo momento de edição. Assim você controla os dois sentidos do diálogo HTTP.

### Fila de interceptação

A **fila de interceptação** é a lista de mensagens pausadas, aguardando a sua decisão. Cada item mostra **método, host e caminho**. Enquanto a fila existe, o tráfego fica realmente parado — nada segue sem a sua ação. O cabeçalho da fila indica o estado (**interceptação ligada ou desligada**) e, durante o envio, exibe **FINALIZANDO ENVIO**. O layout da fila alterna entre **CARTÕES** (mais detalhe) e **COMPACTO** (mais itens na tela).

### Escopo de hosts e pausa seletiva

O **escopo** é uma lista de hosts que define onde a pausa age. Com **Pausar só no escopo** ligado e hosts definidos em **Gestão de escopo**, a fila segura apenas o tráfego desses hosts e deixa o resto passar. O match é **por sufixo**: `exemplo.com` cobre `api.exemplo.com` e demais subdomínios, e o campo aceita o formato `*.host`. Sem hosts no escopo, a pausa permanece **global** para não deixar tráfego escapar.

### Histórico, limite e Captura Total

O **histórico** guarda as mensagens que passaram pelo Interceptador e pelo proxy, por domínio, para consulta posterior. O **limite do histórico** mantém até um número máximo de requisições visíveis e descarta automaticamente as mais antigas. A **Captura Total**, quando disponível no aparelho, registra **todo** o tráfego do proxy local no histórico — não só o que você interceptou manualmente. Ela depende de suporte do dispositivo e pode não estar disponível em todos os aparelhos.

### Site Map (árvore de site) por host e endpoint

O **Site Map** reorganiza o histórico como uma **árvore**: cada **host** vira um nó que expande para os **caminhos** (endpoints) observados. Cada endpoint mostra os **métodos** e os **status** vistos e um contador de requisições. É a forma rápida de entender a superfície do alvo. Tocar no ícone de filtro de um host aplica o host (ou o host mais o caminho) ao filtro do histórico.

### Comparação A/B de requisições

A **comparação** abre duas capturas lado a lado — **A** e **B** — em uma tela cheia. Você alterna entre **REQUEST** e **RESPONSE** e as **linhas diferentes** entre os dois lados ficam destacadas, o que facilita ver o que mudou entre uma captura e outra.

### Exportação em HAR, JSON, TXT e cURL

A **exportação** leva o histórico filtrado para fora do app. São quatro formatos: **TXT** (texto organizado), **cURL .txt** (um arquivo de comandos `cURL` completos, com `-X`, `-H` e `-d`), **JSON** (dados estruturados para análise e automação) e **.HAR** (arquivo compatível com ferramentas de análise de tráfego HTTP). A mesma tela serve para **baixar** ou **compartilhar**.

### Regras automáticas e extensões

Quando há [extensões](https://netcattest.com/catsuite/docs/extensoes) processando o proxy, as **regras de substituição** aplicáveis rodam **antes** dos handlers e antes de a mensagem chegar à fila. Uma request alterada por regra automática recebe uma marca de **REGRA AUTOMÁTICA** na fila. A edição manual no Interceptador prevalece sobre o que já foi aplicado.

## A tela do Interceptador: abas e painéis

O Interceptador tem três abas no topo: **INTERCEPTAR**, **HISTÓRICO** e **OPÇÕES**. A cor de acento padrão é o amarelo (roxo no App Virtual).

### Aba Interceptar

É onde você opera a fila ao vivo. No topo fica o **interruptor de interceptação** (ligada/desligada) e o alternador de layout **CARTÕES/COMPACTO**. Abaixo, a **FILA DE INTERCEPTAÇÃO** lista as mensagens pausadas com **MÉTODO**, **HOST** e **CAMINHO**. Sem nada na fila, a área mostra **AGUARDANDO NOVAS REQUISIÇÕES**. Cada item leva ao **EDITOR DA REQUISIÇÃO** e, quando aplicável, à seção de **response pausada**.

### Aba Histórico

Mostra o **HISTÓRICO DO INTERCEPTADOR**. No topo há o campo de busca (**Buscar por site, domínio, método, URL ou status...**) e os botões de **árvore de site** (Site Map), **só interessantes**, **Proxy de Rede** (quando aplicável) e o **menu de filtros**. A lista traz cada captura; ao selecionar uma, o painel de detalhe mostra as abas **REQUEST** e **RESPONSE** e as **INFORMAÇÕES GERAIS**. Tocar e segurar uma captura abre o menu de cópia, compartilhamento e envio.

### Aba Opções

Reúne dois blocos de configuração: **CONFIGURAÇÕES DO INTERCEPTAR** (comportamento da fila, escopo, Captura Total e cores do HTTP) e **CONFIGURAÇÕES DO HISTÓRICO** (limite, condições de captura, conteúdos de response, escopo do histórico e o atalho **DOWNLOAD E COMPARTILHAR**).

## O editor da requisição: Bruto, Headers, Corpo e Busca

Ao abrir uma request na fila, o **EDITOR DA REQUISIÇÃO** apresenta quatro sub-abas:

- **Bruto** — a request inteira como texto (linha inicial com **método** e **URL/caminho**, **headers** e **corpo**). Editar aqui sincroniza com as abas estruturadas.
- **Headers** — a lista de **CABECALHOS EDITÁVEIS** em pares chave/valor. É aqui que você edita os **cookies**, pelo header `Cookie`, além de `Authorization`, `User-Agent` e demais.
- **Corpo** — o editor do corpo, que se adapta ao formato: **CORPO // FORM URLENCODED**, **CORPO // JSON FORMATADO** ou **CORPO // TEXTO**.
- **Busca** — localiza um trecho dentro da própria requisição.

Ao terminar, use **APLICAR E ENVIAR** para encaminhar com as edições. Se o texto bruto ficar inválido, o editor avisa (**Corrija a requisição bruta para editar os headers.**) e bloqueia as abas estruturadas até você corrigir.

> [!DICA]
> Para trocar um valor pontual, a aba **Headers** ou **Corpo** é mais segura que a **Bruto**, porque mantém a estrutura. Use a **Bruto** quando precisar reescrever a linha inicial (método e caminho) ou colar uma request inteira.

## Opções do Interceptador e como configurar

### Opções do Interceptar

A tabela reúne o bloco **CONFIGURAÇÕES DO INTERCEPTAR** da aba Opções.

| Opção | Valores | Padrão | O que faz |
| --- | --- | --- | --- |
| Interceptação | Ligada, Desligada | Desligada | Liga a fila; cada nova mensagem para para revisão antes de seguir |
| Interceptar response | Ligado, Desligado | Desligado | Também pausa a response depois que a request é encaminhada |
| Redirecionar para o Navegador | Ligado, Desligado | Ligado | Abre o Navegador ao enviar a request pelo Interceptador |
| Pausar só no escopo | Ligado, Desligado | Desligado | Pausa apenas os hosts do escopo; sem hosts, a pausa é global |
| Gestão de escopo | lista de hosts | vazio | Define os hosts cobertos (match por sufixo, aceita `*.host`) |
| Captura Total | Ligada, Desligada | Desligada | Registra todo o tráfego do proxy local no histórico (depende do aparelho) |
| Cores do HTTP | Ligado, Desligado | Ligado | Destaca método, linha inicial, headers e valores nas áreas de request e response |
| Histórico do interceptador | Ligado, Desligado | Ligado | Liga ou desliga o registro das capturas no histórico |

Para **ligar a interceptação**, você pode usar o interruptor da aba Interceptar ou este bloco de opções. Com ela ligada, intercepte apenas quando quiser mesmo segurar o tráfego — a fila bloqueia tudo que entra até você agir item a item.

Para **limitar a pausa a um alvo**, ligue **Pausar só no escopo** e abra **Gestão de escopo** para adicionar os hosts. Lembre do match por sufixo: `loja.exemplo` cobre `www.loja.exemplo` e `api.loja.exemplo`. Sem hosts, mesmo com a opção ligada a pausa continua global, de propósito, para nada escapar.

Para **acompanhar o resultado**, deixe **Redirecionar para o Navegador** ligado: ao enviar a request, o app abre o [Navegador](https://netcattest.com/catsuite/docs/modulos/navegador) para você ver a navegação principal. Desligue se preferir permanecer no Interceptador depois de confirmar a request.

> [!NOTA]
> A **Captura Total** usa o proxy local para registrar todo o tráfego no histórico. Ela depende de suporte do dispositivo; quando não está disponível, o app avisa que não foi possível ativar a interceptação completa neste aparelho e a interceptação segue funcionando normalmente, apenas sem a captura ampla.

### Opções do Histórico

A tabela reúne o bloco **CONFIGURAÇÕES DO HISTÓRICO**.

| Opção | Valores | Padrão | O que faz |
| --- | --- | --- | --- |
| Limite do histórico | 100, 300, 500, 1000, 2000, 5000 | 300 | Mantém até N requisições antes de descartar as mais antigas |
| Capturar só em condições | Todas, Wi-Fi, Dados, Carga | Todas | Restringe a captura por tipo de rede ou estado de bateria |
| Ver conteúdos de response | Ligado, Desligado | Desligado | Exibe o corpo completo de imagens, scripts e CSS (usa mais memória) |
| Gravar histórico só no escopo | Ligado, Desligado | Desligado | Grava apenas requisições para hosts do escopo |
| Download e compartilhar | — | — | Abre a tela de exportação com filtros por método, status, domínio, tipo, dia e horário |

Para **economizar memória** em aparelhos modestos, escolha o limite **100** (opção mais leve, focada nas requisições mais novas). O padrão **300** equilibra desempenho e retenção; **1000** a **5000** guardam sessões longas ao custo de mais memória.

As **condições de captura** poupam dados e bateria: **Wi-Fi** só captura em rede sem fio, **Dados** só em dados móveis e **Carga** só com o aparelho carregando e bateria acima de 50%. **Todas** não impõe restrição.

> [!IMPORTANTE]
> Para liberar a linha do tempo de sites, requisições e do que passou pelo interceptador, o módulo [História e notas](https://netcattest.com/catsuite/docs/modulos/historia) precisa estar ativo em Configurações. Sem ele, o registro do histórico fica indisponível.

## Botões e ações

### Na aba Interceptar e no editor

| Botão / Ação | Onde | O que faz |
| --- | --- | --- |
| Interruptor de interceptação | Topo da aba | Liga ou desliga a fila |
| CARTÕES / COMPACTO | Topo da fila | Alterna o layout da fila |
| EDITAR | Item da fila | Abre o editor da requisição |
| ENVIAR | Fila / editor | Encaminha a mensagem sem alterações |
| DESCARTAR | Fila / editor | Bloqueia e descarta a mensagem |
| APLICAR E ENVIAR | Editor | Aplica as edições e encaminha |
| Bruto / Headers / Corpo / Busca | Editor da requisição | Alterna as sub-abas do editor |

### Na response pausada

| Botão / Ação | O que faz |
| --- | --- |
| EDITAR E ENVIAR | Abre o editor da response |
| STATUS / HEADERS / CORPO | Sub-abas do editor da response |
| AÇÕES RÁPIDAS → INJETAR JS | Abre o campo para injetar JavaScript na response |
| AÇÕES RÁPIDAS → TROCAR JSON/CORPO | Substitui o corpo/JSON da response |
| INJETAR E ENVIAR | Aplica a injeção de JS e encaminha |
| FORMATAR JSON | Reformata o corpo JSON para leitura |
| ENVIAR / DESCARTAR | Encaminha ou descarta a response |

### Na aba Histórico

| Botão / Ação | O que faz |
| --- | --- |
| Campo de busca | Filtra por site, domínio, método, URL ou status |
| Árvore de site | Abre ou fecha o Site Map |
| Só interessantes | Mostra apenas as capturas marcadas como interessantes |
| Proxy de Rede | Mostra apenas o tráfego do [Proxy de Rede](https://netcattest.com/catsuite/docs/modulos/proxy) |
| Menu de filtros | Abre **OPÇÕES DO HISTÓRICO** |
| Toque longo na captura | Abre o menu de cópia, compartilhamento e envio |

O menu **OPÇÕES DO HISTÓRICO** traz **BUSCA AVANÇADA** (Buscar por regex, Distinguir maiúsculas e minúsculas, Buscar no corpo, Limpar filtros, Limpar histórico) e os filtros **MÉTODO** (GET, POST, PUT, DELETE), **STATUS**, **DOMÍNIO** (Selecionar Domínios) e **TIPO** (HTML, JSON, Imagem, JS, CSS).

O menu de toque longo em uma captura oferece: **Copiar** (URL, Headers da requisição, Body da requisição, Requisição completa, Headers da resposta, Body da resposta, Resposta completa, Requisição e resposta, **cURL**, **fetch (JavaScript)**, **Python requests**, **HTTPie**); **Compartilhar**; **Comparar com outra**; **Marcar como interessante**; **Explique aqui** (explicação por IA); e envio para [Repetir](https://netcattest.com/catsuite/docs/modulos/repetir), [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso), [Analisador SSL/TLS](https://netcattest.com/catsuite/docs/modulos/ssl-tls), [Decodificar](https://netcattest.com/catsuite/docs/modulos/decodificar) e bloco de notas.

### Na exportação (Download e compartilhar)

| Botão / Ação | O que faz |
| --- | --- |
| FORMATO DE EXPORTAÇÃO | Escolhe TXT, cURL .txt, JSON ou .HAR |
| BAIXAR | Salva o arquivo com os filtros atuais |
| COMPARTILHAR | Envia o arquivo pelo compartilhamento do sistema |
| LIMPAR FILTROS | Remove método, status, domínio, tipo, dia e horário selecionados |

### Na comparação A/B

| Botão / Ação | O que faz |
| --- | --- |
| REQUEST / RESPONSE | Escolhe qual parte comparar entre A e B |
| A → REPETIR / B → REPETIR | Envia a captura A ou B para o [Repetir](https://netcattest.com/catsuite/docs/modulos/repetir) |
| A → INTERCEPTAR / B → INTERCEPTAR | Carrega a captura A ou B na fila para edição |

## Passo a passo

### 1. Ligar a interceptação e segurar a primeira request

1. Capture tráfego com o [Proxy de Rede](https://netcattest.com/catsuite/docs/modulos/proxy) ou navegue pelo [Navegador](https://netcattest.com/catsuite/docs/modulos/navegador).
2. Na aba **INTERCEPTAR**, acione o **interruptor de interceptação**.
3. Gere uma ação no alvo (um clique, um envio de formulário). A mensagem aparece na **FILA DE INTERCEPTAÇÃO**.
4. Toque no item para abrir o **EDITOR DA REQUISIÇÃO** ou decida direto: **ENVIAR** ou **DESCARTAR**.

### 2. Editar método, URL, headers, cookies e corpo

1. Com a request aberta no editor, vá à aba **Bruto** para ajustar a **linha inicial** (método e caminho) ou colar uma request completa.
2. Vá a **Headers** para alterar pares chave/valor. Edite o header `Cookie` para trocar cookies e `Authorization` para o token.
3. Vá a **Corpo** para editar o corpo no formato detectado (form urlencoded, JSON ou texto).
4. Confira tudo e toque em **APLICAR E ENVIAR**.

### 3. Interceptar e editar a response

1. Na aba **OPÇÕES**, ligue **Interceptar response**.
2. Encaminhe uma request normalmente. Quando a resposta chegar, a seção **RESPONSE PAUSADA** abre.
3. Ajuste **STATUS**, **HEADERS** ou **CORPO**; use **FORMATAR JSON** para ler melhor; se precisar, **INJETAR JS** nas **AÇÕES RÁPIDAS**.
4. Toque em **EDITAR E ENVIAR** (ou **INJETAR E ENVIAR**) para devolver a response ao cliente.

### 4. Explorar o Site Map por host e endpoint

1. Na aba **HISTÓRICO**, toque no ícone de **árvore de site**.
2. Expanda um **host** para ver seus **caminhos**, com métodos, status e contagem.
3. Toque no ícone de filtro de um host (ou em um caminho) para aplicar aquele recorte ao histórico e fechar o Site Map.

### 5. Filtrar o histórico e comparar duas capturas

1. Na aba **HISTÓRICO**, use o campo de busca ou abra o **menu de filtros** e escolha método, status, domínio e tipo.
2. Para texto preciso, ligue **Buscar por regex** e, se quiser, **Buscar no corpo**.
3. Em uma captura, use o toque longo e **Comparar com outra**; em seguida toque em outra captura.
4. Na tela de comparação, alterne **REQUEST/RESPONSE** e observe as **linhas diferentes** destacadas.

### 6. Exportar em HAR, JSON, TXT ou cURL

1. Na aba **OPÇÕES**, abra **DOWNLOAD E COMPARTILHAR**.
2. Ajuste os filtros (método, status, domínio, tipo, dia e horário) e veja os contadores **TOTAL**, **SELECIONADO** e **FILTROS**.
3. Toque em **FORMATO DE EXPORTAÇÃO** e escolha **.HAR**, **JSON**, **TXT** ou **cURL .txt**.
4. Toque em **BAIXAR** ou **COMPARTILHAR**.

### 7. Enviar para o Repetir e para o Intruso

1. No histórico (ou no editor), use o toque longo em uma captura.
2. Escolha **Enviar para o Repetir** para replay manual e preciso, ou **Enviar para o Intruso** para automação com wordlists.
3. Aprofunde a análise no módulo de destino.

> [!DICA]
> Quando quiser repetir variações da mesma request, encaminhe para o [Repetir](https://netcattest.com/catsuite/docs/modulos/repetir) ou para o [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso) em vez de editar manualmente várias vezes na fila.

## Exemplos

Request original pausada na fila, antes de qualquer edição:

```http
POST /api/login HTTP/1.1
Host: alvo.exemplo
Content-Type: application/json
Cookie: sessao=abc123

{"usuario":"ana","senha":"123456"}
```

A mesma request depois de editar o cookie e o corpo na aba Headers/Corpo:

```http
POST /api/login HTTP/1.1
Host: alvo.exemplo
Content-Type: application/json
Cookie: sessao=novo_valor

{"usuario":"ana","senha":"outra-senha"}
```

Comando gerado por **Copiar cURL** de uma captura do histórico:

```bash
curl -i -X POST "https://alvo.exemplo/api/login" \
  -H "Content-Type: application/json" \
  -H "Cookie: sessao=abc123" \
  -d '{"usuario":"ana","senha":"123456"}'
```

Trecho de um arquivo **.HAR** exportado, no formato aceito por ferramentas de análise HTTP:

```json
{
  "log": {
    "version": "1.2",
    "creator": { "name": "CatSuite", "version": "1.3" },
    "entries": [
      {
        "request": {
          "method": "POST",
          "url": "https://alvo.exemplo/api/login"
        },
        "response": {
          "status": 200
        }
      }
    ]
  }
}
```

## Problemas comuns e perguntas frequentes

**Liguei a interceptação e o app travou todo o tráfego.** É o comportamento esperado: a fila segura tudo até você agir. Resolva os itens da fila com **ENVIAR** ou **DESCARTAR**, ou desligue a interceptação.

**A fila não segura só o alvo que eu quero.** Ligue **Pausar só no escopo** e adicione os hosts em **Gestão de escopo**. Sem hosts, a pausa é global de propósito.

**Liguei Interceptar response e não aparece nada.** A response só pausa **depois** que a request correspondente é encaminhada. Encaminhe a request e aguarde a resposta.

**O histórico não registra nada.** Verifique se **Histórico do interceptador** está ligado e se o módulo [História e notas](https://netcattest.com/catsuite/docs/modulos/historia) está ativo nas configurações. Confira também as **condições de captura** (Wi-Fi, Dados, Carga).

**A busca do histórico não acha o que espero.** Se **Buscar por regex** estiver ligado e a expressão for inválida, o painel avisa. Corrija a regex ou desligue o modo regex. Ative **Buscar no corpo** para procurar dentro dos conteúdos.

**A exportação saiu vazia.** Algum filtro está restritivo demais. Toque em **LIMPAR FILTROS** e confira os contadores **TOTAL** e **SELECIONADO** antes de baixar.

**A Captura Total não liga.** Ela depende de suporte do aparelho. Quando indisponível, o app avisa e a interceptação continua funcionando normalmente, só sem a captura ampla.

> [!IMPORTANTE]
> Ao copiar, exportar ou compartilhar conteúdo, o destino passa a depender da sua decisão. Trate requests, cookies e corpos como dados sensíveis.

## Boas práticas e segurança

> [!PERIGO]
> Alterar requests e responses pode encerrar sessões, corromper dados e afetar serviços. Faça isso apenas em alvos autorizados e com consciência do efeito de cada edição.

- Mantenha a interceptação desligada quando só quiser observar; ligue apenas para segurar o tráfego de propósito.
- Use o **escopo** para não parar tráfego de outros apps e serviços do aparelho.
- Prefira editar em **Headers** e **Corpo** a reescrever a request **Bruta** inteira, para não quebrar a estrutura.
- Compare duas capturas antes de concluir que uma edição teve efeito.
- Exporte em **.HAR** ou **JSON** para guardar evidências; use **cURL** para reproduzir a request fora do app.

## Continue

- [Proxy de Rede](https://netcattest.com/catsuite/docs/modulos/proxy)
- [Navegador](https://netcattest.com/catsuite/docs/modulos/navegador)
- [Repetir](https://netcattest.com/catsuite/docs/modulos/repetir)
- [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso)
- [História e notas](https://netcattest.com/catsuite/docs/modulos/historia)
- [Visão geral dos módulos](https://netcattest.com/catsuite/docs/modulos)
- [Segurança e uso responsável](https://netcattest.com/catsuite/docs/seguranca)
