tcpdump flag por flag _RST

A RST (Reset)

A RST (Reset) é uma flag do protocolo TCP usada para encerrar imediatamente uma conexão, sem realizar o encerramento ordenado (four-way handshake) utilizado pela flag FIN.

Como funciona?

Quando um dispositivo envia um pacote com a flag RST, ele informa ao outro lado que a conexão deve ser abortada imediatamente. Após receber um RST, o receptor descarta a sessão TCP e libera os recursos associados.

Quando a flag RST é utilizada?

Os casos mais comuns são:

-A porta de destino está fechada (não existe um serviço escutando naquela porta).
-A aplicação encerra a conexão abruptamente, sem usar FIN.
-Firewall ou equipamento de segurança interrompe a sessão enviando um RST.
-Pacotes inválidos ou inesperados são recebidos (número de sequência incorreto, conexão inexistente etc.).

Exemplo no tcpdump
10.1.1.10.443 > 10.1.1.20.51234: Flags [R], seq 12345, win 0, length 0

Ou:

O ponto (.) representa a flag ACK, ou seja:

[R] → Reset da conexão.
[R.] → Reset + ACK (RST e ACK enviados juntos).

Diferença entre FIN e RST

| FIN | RST |
| ———————————————– | ————————————– |
| Encerra a conexão de forma normal. | Encerra a conexão imediatamente. |
| Permite que os dados pendentes sejam entregues. | Descarta a sessão imediatamente. |
| Utiliza o four-way handshake. | Não realiza handshake de encerramento. |
| Encerramento esperado. | Encerramento anormal ou forçado. |

 

Analogia simples
FIN: “Terminei de conversar. Até mais!”
RST: “A conversa acabou agora. Desconsidere tudo e feche a ligação.”