Fingerprint: Conhecimento TCP

O Protocolo de Controle de Transmissão TCP (Do inglês Transmission Control Protocol) é um protocolo de comunicação utilizado em redes de computadores para garantir a entrega confiável de dados. Ele faz parte de uma pilha de protocolos cujo nome faz menção aos dois mais importantes TCP/IP. Este estudo foi realizado no curso de Graduação em Sistema de Informação do Instituto Federal de Alagoas.

[ Hits: 3.150 ]

Por: cristofe coelho lopes da rocha em 27/03/2023


Introdução ao TCP



Os ataques cibernéticos são realizados utilizando os protocolos da pilha TCP/IP, por esse motivo é muito importante conhecer mais de perto, aqui exploraremos o protocolo TCP. A camada TCP está logo acima do protocolo internet protocol IP que fornece um modo para o TCP enviar e receber segmentos.

Figura 1. Camadas do protocolo TCP
Como pode ser visto na Figura 1, as camadas do protocolo TCP/IP são 4: Comunicação reunindo os protocolos da camada física e enlace de dados do modelo OSI. Logo acima temos a camada de identificação da máquina na camada de Internet. Em seguida a camada de transmissão e a camada de aplicação. Não temos o objetivo aqui de esgotar o assunto, entretanto é importante pontuar que quanto mais conhecimento no protocolo TCP/IP maior será sua estratégia de defesa.

Cabeçalhos do protocolo

Os segmentos TCP são enviados como datagramas de internet, o cabeçalho do IP carrega vários campos de informação, incluindo source e destination headers e o cabeçalho TCP segue o IP, fornecendo ainda mais informações, entretanto específicas do TCP.

Figura 2. Cabeçalho TCP/IP
Na Figura 2 podemos observar que um datagrama IP é populado por várias informações. Não iremos abordar todas, o source port e destination port reportam as origem e destino do datagrama, respectivamente.

Ao chegar em seu destino, uma arquitetura cliente/servidor realiza o protocolo de transmissão. Para que uma conexão seja estabelecida ou inicializada, os dois TCPs devem sincronizar os números de sequência iniciais um do outro. Isso é feito em uma troca de conexão estabelecendo segmentos transportando um bit de controle chamado "SYN" (para sincronizar) e os números de sequência iniciais. Portanto, a solução requer um mecanismo adequado para escolher um número de sequência inicial e um aperto de mão.

Figura 3. protocolo de transmissão - Three-way Handshake
O Three-way Handshake ou aperto de mão de três vias, é um procedimento de comunicação utilizado no modelo TCP para estabelecer uma conexão entre dois dispositivos em uma rede. Ele consiste em três etapas (ou mensagens) trocadas entre os dispositivos:
  • O Cliente que iniciou a conexão envia uma mensagem SYN para o servidor, solicitando que seja iniciado o processo de conexão.
  • O Servidor responde com uma mensagem SYN/ACK, indicando que recebeu a solicitação e está disposto a se conectar.
  • O cliente que iniciou a conexão responde com uma mensagem ACK, confirmando que recebeu a resposta do dispositivo receptor.

Após essa sequência, a conexão é estabelecida e os dispositivos podem começar a trocar dados. O Three-way Handshake é importante para garantir que os dispositivos se comuniquem corretamente e estabeleçam uma conexão segura e confiável.

Na primeira linha, o cliente envia uma solicitação de comunicação. Traduzindo, seria como se o cliente estivesse falando o seguinte:

Cliente, "Gostaria de estabelecer uma conexão. Dá pra sincronizar" envia mensagem com flag SYN ativada.

"Claro, estou disponível", responde o servidor com a flag SYN/ACK.

OK! O cliente responde com a flag ACK ativada e a conexão está estabelecida.

A partir deste momento uma tabela denominada tabela de estado mantém os pacotes com as flags permitindo a transmissão dos pacotes, uma vez que a conexão foi autorizada e estabelecida. Esta tabela fica armazenada no servidor.

    Próxima página

Páginas do artigo
   1. Introdução ao TCP
   2. Farejando a rede
   3. RFC (Request For Comments)
Outros artigos deste autor

Varredura bruta com NMAP

Um dia depois da inundação

Alta disponibilidade com CARP

Esgotando os recursos

Festa com SQL injection

Leitura recomendada

Introdução ao PC-BSD

Servidor de impressão com cotas no FreeBSD (CUPS + PostgreSQL + PyKota)

Configurando rede wireless com wpa_supplicant

FreeBSD 10 com GNOME 2 - Instalação no VirtualBox

Configurando o FreeBSD e PyKota para receber o JPyKotaGUI

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 21:59h


excelente artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts