tcpdump flag por flag_FIN

A flag FIN (Finish).

A flag FIN (Finish) no protocolo TCP indica que um dos lados da conexão deseja encerrar a sessão de forma ordenada. Ela informa ao destinatário que o transmissor não enviará mais dados, embora ainda possa receber dados até que a conexão seja completamente encerrada.

 

Como funciona?

O encerramento normal de uma conexão TCP ocorre em quatro etapas (four-way handshake):

O host A envia um pacote com a flag FIN.
O host B responde com um ACK, confirmando o recebimento do FIN.
Quando o host B também termina de enviar seus dados, ele envia outro FIN.
O host A responde com um ACK, finalizando a conexão.

Fluxo simplificado:

Cliente Servidor
| ——– FIN ———–> |
| <——- ACK ———— |
| <——- FIN ———— |
| ——– ACK ———–> |

Após o último ACK, a conexão é encerrada normalmente.

Como identificar no tcpdump
Exemplo de captura:

14:25:30.123456 IP 192.168.1.10.50432 > 192.168.1.20.443: Flags [F.], seq 1250, ack 3500, win 502
Neste exemplo:

F = FIN (solicitação para encerrar a conexão)
. = ACK (o pacote também reconhece dados recebidos)

Outro exemplo:
Flags [F]

Indica apenas a flag FIN.
Quando a flag FIN aparece?

É comum observá-la quando:

Um navegador fecha uma conexão HTTP/HTTPS.
Uma aplicação termina uma transferência de dados.
O servidor encerra uma sessão por inatividade (timeout).
O cliente fecha uma conexão TCP normalmente.

FIN × RST
| FIN | RST |
| ———————————————- | ——————————————————- |
| Encerra a conexão de forma **graciosa** | Encerra a conexão **imediatamente** |
| Permite que os dados pendentes sejam entregues | Descarta a conexão sem aguardar dados pendentes |
| Faz parte do encerramento normal do TCP | Geralmente indica erro, rejeição ou interrupção abrupta |

 

Resumo
FIN = Finish.
Indica que o transmissor não enviará mais dados.
Faz parte do encerramento normal de uma conexão TCP.
Normalmente é seguido por um ACK e, posteriormente, por um FIN da outra ponta.
É diferente da flag RST, que encerra a conexão de forma abrupta.

 

 

 

Redes de Computadores_Nesta que é a bíblia de redes de computadores, Tanenbaum, Feamster & Wetherall explicam o funcionamento das redes de dentro para fora.