# Repetir

> Guia completo do módulo Repetir do CatSuite: como usar o editor HTTP com realce, autocompletar de headers, reenviar, comparar respostas e configurar o SSL/TLS.

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

O **Repetir** é o módulo de tráfego manual do CatSuite. Ele reúne um editor HTTP com realce de sintaxe, autocompletar de headers, reenvio ilimitado da mesma request, um modo de comparação de respostas lado a lado e o controle de SSL/TLS por envio. É a bancada ideal para alterar um campo por vez, disparar de novo e entender o efeito exato de cada ajuste no comportamento do alvo. Esta página explica o que cada recurso faz, como configurar o módulo e como usar o Repetir em fluxos reais de teste autorizado.

> [!NOTA]
> O Repetir faz replay manual e preciso de requisições individuais. Para automatizar muitas variações de uma vez, o módulo indicado é o [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso).

## O que é o módulo Repetir e para que serve

O Repetir recebe uma request bruta — vinda do [Interceptador](https://netcattest.com/catsuite/docs/modulos/interceptador), do [Navegador](https://netcattest.com/catsuite/docs/modulos/navegador), da [História](https://netcattest.com/catsuite/docs/modulos/historia), do [Descobridor](https://netcattest.com/catsuite/docs/modulos/descobridor) ou de um resultado do [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso) — e deixa você editá-la livremente no formato cru (linha inicial, headers e corpo). A cada toque em **ENVIAR**, o módulo dispara a request e guarda a resposta completa, com status, tempo, tamanho e tipo de conteúdo. Você pode reenviar quantas vezes quiser, voltar e avançar pelo histórico de edições e ativar o modo de comparação para medir a diferença entre duas variações.

O cabeçalho da tela deixa clara a intenção do módulo: a tarja **TRÁFEGO MANUAL**, o título **REPETIR** e o resumo "Edite, reveja versões e compare respostas."

## Conceitos essenciais do Repetir

Antes de abrir a tela, vale fixar os termos que aparecem em botões, chips e configurações.

### Request bruta e editor HTTP com realce de sintaxe

A **request bruta** é o texto HTTP exatamente como vai para o fio: a linha inicial (`MÉTODO alvo HTTP/1.1`), os headers (um por linha, no formato `Nome: valor`), uma linha em branco e, por fim, o corpo. O editor do Repetir aplica **realce de sintaxe** nesse texto: o método ganha destaque amarelo, a versão `HTTP/…` fica em cinza, o alvo em azul, os nomes de header em ciano, os dois-pontos em cinza-claro e os valores em verde. As marcações de payload do Intruso, no formato `§trecho§`, aparecem realçadas em fundo ciano, o que permite preparar posições sem sair do Repetir.

### Autocompletar de headers

Quando você está numa linha de header que ainda não tem dois-pontos, o Repetir mostra chips de **SUGESTÕES DE HEADER** com os cabeçalhos mais comuns (Authorization, Content-Type, User-Agent, Accept, Cookie, Origin, Referer e outros). Tocar num chip insere o nome do header e o `: ` na linha atual, já com o cursor pronto para o valor. A lista é filtrada pelo que você digitou: comece a escrever `Au` e só os headers que começam com esse prefixo aparecem.

### Reenvio manual e histórico de edições

Cada envio é um disparo manual e independente. O editor mantém um **histórico de edições** da request: as setas de voltar e avançar percorrem as versões já digitadas (o subtítulo do painel mostra `histórico N/total`), funcionando como desfazer e refazer específicos da request. Assim você experimenta uma variação, dispara, volta ao texto anterior e tenta outra, sem perder o caminho percorrido.

### Modo de comparação de respostas (A/B)

Com o modo de comparação ligado, surge uma **request B** separada da principal. Você mantém a request A intacta, edita a B como variação e compara request e resposta numa tabela: método, host, alvo, contagem de headers (e quantos diferem), tamanho do corpo e linhas alteradas; e, para as respostas, status, tempo, tamanho, tipo de conteúdo e se o corpo ficou igual ou diferente.

### Controle de SSL/TLS por envio

O Repetir deixa você decidir, por envio, como tratar a camada de transporte. Com **SSL/TLS** ligado, o envio HTTPS negocia TLS normalmente; desligado, o envio força HTTP mesmo que o alvo original estivesse em HTTPS. Há ainda a opção de **ignorar erros de certificado**, útil em laboratório quando o alvo apresenta um certificado inválido ou autoassinado. Para uma inspeção dedicada de certificado, cadeia e protocolo, use o [Analisador SSL/TLS](https://netcattest.com/catsuite/docs/modulos/ssl-tls).

### Modos de visualização: Bruto, Hex e Render

Tanto a request quanto a resposta têm um alternador de visualização. **BRUTO** mostra o texto editável (na request) ou a resposta completa com status, headers e corpo (na resposta). **HEX** mostra um dump hexadecimal somente leitura. **RENDER**, disponível só na resposta, faz uma renderização local para HTML e exibe uma árvore formatada para JSON.

| Termo | O que é | Onde aparece |
| --- | --- | --- |
| Request bruta | Texto HTTP cru, editável linha a linha | Painel REQUEST |
| Realce de sintaxe | Cores por método, header, valor e marcação | Editor BRUTO |
| Autocompletar | Chips de headers comuns na linha atual | Painel REQUEST |
| Comparação A/B | Request B separada e tabela de diferenças | Painel COMPARAÇÃO A/B |
| SSL/TLS por envio | Chaves de TLS e de certificado | Configurações |

## A tela do Repetir: painéis, abas e modos

A tela é uma coluna rolável com quatro blocos principais, do topo para baixo.

### Cartão de execução manual

O primeiro cartão, **EXECUÇÃO MANUAL**, concentra os controles de disparo: o botão **ENVIAR**, o botão **LIMPAR** e o ícone de ajustes que abre as configurações. Durante um envio, o ENVIAR vira CANCELAR (e CANCELANDO enquanto a interrupção é concluída).

### Painel REQUEST

O painel **REQUEST** traz o editor da request principal. No topo há chips de resumo (MÉTODO, HOST, ALVO e tamanho do BODY), as setas de histórico, o alternador BRUTO/HEX, o botão COPIAR e, quando faz sentido, os chips de sugestão de header. Se a primeira linha ainda não tem método, alvo e `HTTP/1.1`, o painel mostra um aviso explicando o que falta em vez do resumo técnico.

### Painel de comparação A/B

Quando o modo comparação está ligado, o painel **COMPARAÇÃO A/B** aparece entre a request e a resposta. Ele mostra um selo **B PRONTA** ou **B VAZIA**, as tabelas de resumo de REQUEST e RESPONSE, os botões de ação da comparação, os chips da request B e o editor **REQUEST B**.

### Painel RESPONSE

O painel **RESPONSE** exibe a resposta do último envio. Traz chips de STATUS, TEMPO, TAMANHO e TIPO, o alternador BRUTO/HEX/RENDER, o botão COPIAR e, quando o CatSuite detecta formatos no corpo (JWT, Base64, JSON e afins), uma faixa **CONTEÚDO DETECTADO** com chips que abrem a decodificação daquele trecho.

> [!DICA]
> O painel RESPONSE também oferece atalhos de rolagem: ao descer muito, um botão flutuante permite voltar rápido ao topo da página.

## Opções do Repetir e como configurar

Toque no ícone de ajustes do cartão de execução para abrir a folha **CONFIGURAÇÕES DO REPETIR** ("Configure o editor, SSL/TLS e a exportação em cURL."). As chaves são persistentes: o CatSuite guarda a sua escolha entre sessões.

| Opção | Valores | Padrão | O que faz |
| --- | --- | --- | --- |
| Autocompletar headers | Ligado / Desligado | Ligado | Sugere Authorization, Content-Type, User-Agent e outros headers comuns enquanto você digita o nome de um header. |
| Cores do HTTP | Ligado / Desligado | Ligado | Liga ou desliga o realce visual de método, linha inicial, headers e valores no editor. |
| Ativar SSL/TLS | Ligado / Desligado | Ligado | Quando desligado, o envio força HTTP mesmo que o alvo original esteja em HTTPS. |
| Ignorar erros de certificado | Ligado / Desligado | Desligado | Aceita certificados inválidos durante o envio HTTPS; só fica disponível com SSL/TLS ligado. |
| Manter template padrão ao limpar | Ligado / Desligado | Ligado | Define se o LIMPAR volta ao template `GET exemplo.com` ou deixa o editor vazio. |
| Modo comparação | Ligado / Desligado | Desligado | Mostra uma request B separada para comparar variações sem sobrescrever a request principal. |

Para ajustar cada uma: deixe **Autocompletar headers** ligado enquanto monta requests do zero e desligue se os chips atrapalharem a digitação. **Cores do HTTP** é só conforto visual — desligue se preferir texto monocromático. **Ativar SSL/TLS** deve ficar ligado para alvos HTTPS reais; desligue apenas para forçar HTTP em testes de laboratório. **Ignorar erros de certificado** só deve ser usado em ambiente próprio e autorizado, porque desativa uma proteção de transporte. **Manter template padrão ao limpar** é preferência de produtividade. E **Modo comparação** você liga quando quiser medir duas variações em paralelo.

> [!AVISO]
> Ignorar erros de certificado desativa a validação da cadeia TLS no envio. Use somente em laboratório, staging ou rede própria explicitamente autorizada, nunca contra alvos de terceiros.

No rodapé da folha há o botão **EXPORTAR COMO cURL**, que gera o comando `curl` equivalente à request atual (respeitando a escolha de SSL/TLS) e copia para a área de transferência.

## Botões e ações do Repetir

### Botões do cartão de execução

| Botão | O que faz |
| --- | --- |
| ENVIAR | Dispara a request A. Durante o envio vira CANCELAR; enquanto interrompe, mostra CANCELANDO. |
| LIMPAR | Esvazia a resposta e o editor, respeitando a opção "Manter template padrão ao limpar". |
| Ícone de ajustes | Abre a folha CONFIGURAÇÕES DO REPETIR. |

### Botões do painel REQUEST

| Botão | O que faz |
| --- | --- |
| Seta voltar | Volta uma versão no histórico de edições da request (desfazer). |
| Seta avançar | Avança uma versão no histórico de edições (refazer). |
| BRUTO / HEX | Alterna o editor entre texto bruto editável e dump hexadecimal somente leitura. |
| COPIAR | Copia a request atual para a área de transferência. |
| Chip de sugestão de header | Insere o header escolhido na linha atual, pronto para o valor. |

### Botões da comparação A/B

| Botão | O que faz |
| --- | --- |
| USAR A COMO B | Copia a request A para o campo da request B. |
| TROCAR A/B | Inverte as requests A e B (e suas URLs de apoio). |
| ENVIAR B / CANCELAR B | Dispara a request B; durante o envio vira CANCELAR B. |
| COPIAR B | Copia a request B. |
| LIMPAR B | Zera a request B e a resposta dela. |

### Menu de contexto do editor

Ao selecionar texto no editor, surge uma barra de ações específica do Repetir.

| Ação | O que faz |
| --- | --- |
| COPIAR | Copia a seleção. |
| COLAR | Cola o conteúdo da área de transferência (só no editor editável). |
| DECODIFICAR | Envia a seleção para o [Decodificar](https://netcattest.com/catsuite/docs/modulos/decodificar). |
| NOTAS | Envia a seleção para o Bloco de Notas. |
| TUDO | Seleciona todo o texto do bloco. |
| REQUEST / RESPONSE | Copia o bloco inteiro (request ou resposta). |

## Passo a passo: como usar o Repetir

### Reenviar uma request várias vezes

1. Envie uma request para o Repetir a partir do [Interceptador](https://netcattest.com/catsuite/docs/modulos/interceptador), da [História](https://netcattest.com/catsuite/docs/modulos/historia) ou de outro módulo.
2. Confira os chips MÉTODO, HOST e ALVO e ajuste a request bruta no editor.
3. Toque em **ENVIAR** e leia os chips STATUS, TEMPO, TAMANHO e TIPO no painel RESPONSE.
4. Altere um campo, dispare de novo e use as setas de histórico para comparar com a versão anterior.

### Comparar duas respostas lado a lado

1. Abra as configurações e ligue **Modo comparação**.
2. No painel COMPARAÇÃO A/B, toque em **USAR A COMO B** para clonar a request atual ou cole uma segunda request completa no editor REQUEST B.
3. Edite a request B com a variação que quer testar.
4. Toque em **ENVIAR** (A) e em **ENVIAR B** e leia as tabelas de resumo para ver onde A e B divergem em status, tamanho, tipo e linhas do corpo.

### Ajustar o SSL/TLS de um envio

1. Abra as configurações do Repetir.
2. Para um alvo HTTPS real, deixe **Ativar SSL/TLS** ligado.
3. Em laboratório com certificado inválido, ligue **Ignorar erros de certificado**.
4. Para testar o comportamento sem TLS, desligue **Ativar SSL/TLS** e reenvie; o módulo passa a usar HTTP.

### Levar a request para o Intruso

1. No editor, marque as posições de payload envolvendo o trecho com o delimitador `§`, no formato `§valor§`. As marcações ficam realçadas em fundo ciano.
2. Confira o resultado — o Repetir mostra onde cada marcação cai na request.
3. Encaminhe a request para o [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso) usando o atalho "Enviar para o Intruso" disponível no Interceptador, ou copie a request e cole no editor do Intruso.
4. No Intruso, use **AUTODETECTAR** ou **MARCAR SELEÇÃO** para confirmar as posições e configurar o ataque.

## Exemplos de requests

Request GET simples no formato bruto, igual ao template inicial do módulo.

```http
GET / HTTP/1.1
Host: exemplo.com
User-Agent: Cat Suite
Accept: */*
```

Request POST com corpo JSON. Note a linha em branco separando os headers do corpo.

```http
POST /api/login HTTP/1.1
Host: exemplo.com
Content-Type: application/json
Accept: application/json

{"usuario":"alice","senha":"trocar"}
```

Request com posição marcada para o Intruso usando o delimitador `§`.

```http
GET /conta/§id§ HTTP/1.1
Host: exemplo.com
User-Agent: Cat Suite
```

Comando gerado pela ação EXPORTAR COMO cURL.

```bash
curl --request GET 'https://exemplo.com/' --header 'User-Agent: Cat Suite' --header 'Accept: */*'
```

## Problemas comuns e perguntas frequentes (FAQ)

**O envio diz "Cole uma request válida para enviar".** O editor está vazio. Cole ou digite uma request bruta completa antes de tocar em ENVIAR.

**O resumo técnico não aparece.** A primeira linha precisa ter método, alvo e `HTTP/1.1`, e a request precisa de um header `Host` (ou uma URL completa na primeira linha). O painel mostra exatamente o que falta.

**O envio falhou com erro de TLS.** O alvo pode ter certificado inválido ou protocolo incompatível. Em ambiente autorizado, ligue **Ignorar erros de certificado**; para diagnosticar a conexão, use o [Analisador SSL/TLS](https://netcattest.com/catsuite/docs/modulos/ssl-tls).

**Cancelei o envio por engano.** O módulo mostra "Envio cancelado." e mantém a request intacta. É só tocar em ENVIAR de novo.

**Preciso testar muitas variações.** O Repetir é para replay manual. Para percorrer listas de payloads automaticamente, leve a request para o [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso) com as [Wordlists](https://netcattest.com/catsuite/docs/modulos/wordlists).

**A request B sumiu quando outro módulo mandou uma request nova.** A request B fica separada da principal e continua intacta: a request importada substitui apenas a A.

> [!IMPORTANTE]
> O Repetir gera tráfego real contra o alvo a cada envio. Use-o somente dentro de um escopo autorizado e com o cuidado descrito na página de [Segurança](https://netcattest.com/catsuite/docs/seguranca).

## Continue

- [Intruso](https://netcattest.com/catsuite/docs/modulos/intruso)
- [Interceptador](https://netcattest.com/catsuite/docs/modulos/interceptador)
- [História](https://netcattest.com/catsuite/docs/modulos/historia)
- [Decodificar](https://netcattest.com/catsuite/docs/modulos/decodificar)
- [Analisador SSL/TLS](https://netcattest.com/catsuite/docs/modulos/ssl-tls)
- [Visão geral dos módulos](https://netcattest.com/catsuite/docs/modulos)
