A estrutura do Header TCP é a seguinte:
Source Port:
Número da Porta de origem
Destination Port:
Número da Porta de destino.
Sequence Number:
O número de sequência do primeiro octeto de dados do segmento (exceto quando SYN está presente). Se o SYN está presente, o número de sequência é o número de sequencia inicial (ISN) e o primeiro octeto de dados é ISN +1.
Acknowledgment number:
Se o bit de controle ACK está acionado, o campo contém o valor do próximo número de sequência que o destinatário do segmento está esperando receber.
Data offset:
Indica onde inicia o campo de dados dentro do Header TCP.
Reserved:
6 bits reservados para uso futuro, pode ser zero.
Window:
16 bits. O número de octetos de dados que o destinatário está aguardando receber, iniciando com o octeto que idica o campo acknowledgment.
Checksum:
16 bits. Controle de erros.
Control bits
O bit de controle pode ser (da esquerda p/ direita):
U (URG) Informa à aplicação a chegada de dados urgentes, que devem ser processado antes no buffer.
A (ACK) Indica que o campo Acknowledgment é significante.
P (PSH) Função Push.
R (RST) Reinicializa a conexão.
S (SYN) Sincronisa os números de sequência.
F (FIN) Indica o fim da transmissão de dados.