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.345 ]

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

Festa com SQL injection

Melhorando o nível de segurança com chflags

Esgotando os recursos

Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador

Alta disponibilidade com CARP

Leitura recomendada

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

Apache2 com SSL - Configuração para forçar uso de HTTPS ao invés de HTTP

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

Configurando o FreeBSD e PyKota para receber o JPyKotaGUI

O Mascote do FreeBSD é um demônio?

  
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