Os sniffers são ferramentas de análise de tráfego utilizada...

Próximas questões
Com base no mesmo assunto
Q233401 Redes de Computadores
Os sniffers são ferramentas de análise de tráfego utilizadas por espiões, mas também são muito úteis para a detecção de erros nas redes de computadores. Em uma rede TCP/IP, um sniffer pode capturar um pacote de dados e mostrar detalhes que permitem decifrar características da conexão. Com base em um pacote de dados capturado, como se pode descobrir se esse pacote refere-se a uma tentativa de estabelecimento de conexão?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - O bit SYN do cabeçalho TCP é igual a 1 e o bit ACK é igual a 0.

Vamos entender a justificativa para essa resposta correta e abordar os conhecimentos necessários para resolver essa questão.

Em redes de computadores, mais especificamente no protocolo TCP (Transmission Control Protocol), o processo de estabelecimento de uma conexão é conhecido como three-way handshake (aperto de mão em três etapas). Esse processo consiste em três passos:

1. **SYN**: O cliente envia um pacote com o bit SYN (Synchronize Sequence Numbers) definido como 1. Esse é o primeiro passo, indicando que o cliente deseja iniciar uma conexão.

2. **SYN-ACK**: O servidor responde com um pacote que tem os bits SYN e ACK (Acknowledgment) definidos como 1. Isso indica que o servidor recebeu o pedido de conexão e está pronto para estabelecer a conexão.

3. **ACK**: O cliente envia um pacote com o bit ACK definido como 1, confirmando o recebimento da resposta do servidor. A partir desse momento, a conexão está estabelecida.

No contexto da questão, estamos interessados em identificar o primeiro passo desse processo. Um sniffer, que é uma ferramenta de análise de tráfego, pode capturar pacotes de dados e mostrar detalhes sobre a conexão.

Para determinar se um pacote refere-se a uma tentativa de estabelecimento de conexão, procuramos especificamente o primeiro pacote do three-way handshake, que é caracterizado pelo bit SYN igual a 1 e o bit ACK igual a 0. Isso indica que o cliente está solicitando o início de uma conexão.

Agora, vamos analisar brevemente as outras alternativas para entender por que não estão corretas:

B - O campo de dados do pacote traz informação de pedido de conexão, do cliente para o servidor.

Essa alternativa está incorreta porque o pedido de conexão é indicado pelos bits no cabeçalho TCP, não pelo campo de dados do pacote.

C - O pacote origina-se em um cliente e destina-se a um servidor, e seu número de sequência é 0.

Essa alternativa está incorreta porque o número de sequência não é necessariamente 0 em uma tentativa de estabelecimento de conexão. O que importa são os bits SYN e ACK.

D - O campo ACK do pacote é igual a 0, indicando que ainda não houve aceitação da conexão.

Essa alternativa está parcialmente correta, mas incompleta, pois não menciona o bit SYN. A combinação dos bits é crucial para identificar a tentativa de conexão.

E - O campo Push do cabeçalho IP apresenta a informação Connect.

Essa alternativa está incorreta porque o campo Push não tem relação com o estabelecimento de conexão. Esse campo é usado para outra finalidade no protocolo TCP.

Com isso, concluímos que a alternativa A é a correta, pois descreve exatamente como identificar um pacote de tentativa de estabelecimento de conexão no protocolo TCP.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Tipicamente, numa ligação TCP existe aquele designado de servidor (que abre um socket e espera passivamente por ligações) num extremo, e o cliente no outro. O cliente inicia a ligação enviando um pacote TCP com a flag SYN activa e espera-se que o servidor aceite a ligação enviando um pacote SYN+ACK. Se, durante um determinado espaço de tempo, esse pacote não for recebido ocorre um timeout e o pacote SYN é reenviado. O estabelecimento da ligação é concluído por parte do cliente, confirmando a aceitação do servidor respondendo-lhe com um pacote ACK.

Durante estas trocas, são trocados números de sequência iniciais (ISN) entre os interlocutores que irão servir para identificar os dados ao longo do fluxo, bem como servir de contador de bytes transmitidos durante a fase de transferência de dados (sessão).

No final desta fase, o servidor inscreve o cliente como uma ligação estabelecida numa tabela própria que contém um limite de conexões, o backlog. No caso do backlog ficar completamente preenchido a ligação é rejeitada ignorando (silenciosamente) todos os subsequentes pacotes SYN.


Fonte: http://pt.wikipedia.org/wiki/Transmission_Control_Protocol

LETRA A.

Segundo Tanenbaum(2011,p.350),"A flag SYN é usada para estabelecer conexões. A solicitação de conexão tem SYN=1 e ACK=0 para indicar que o campo de confirmação piggyback não está sendo utilizado. A resposta contém um confirmação e, portanto, tem SYN=1 e ACK=1."

Bibliografia:

TANENBAUM, A. S.; WETHERALL, D. Redes de Computadores. 5. ed. São Paulo: Pearson, 2011.


Essa questão é muito legal.

Durante uma tentativa de estabelecimento de conexão, teremos, obrigatoriamente no primeiro segmento enviado pelo cliente, o SYN que conterá o respectivo ISN (initial sequence number).

 

Pegando agora o cabeçalho do PRIMEIRO SEGMENTO do pacote:
-> Qual o valor do campo "Número de Sequência": "x"; este campo corresponde sempre ao valor do SYN envolvido na transmissão. O cliente mandou o SYN? Sim, qual valor? x.
-> Qual o valor do campo "Número de Confirmação": "0"; este campo corresponde sempre ao ACK envolvido na transmissão; Teve ACK? Ainda não, então o valor é 0;

 

Por isso a resposta é a letra A, que corresponde ao trecho do pacote de dados capturado a analisado pelo sniffer.

Para descobrir se um pacote de dados capturado se refere a uma tentativa de estabelecimento de conexão em uma rede TCP/IP, é necessário examinar o cabeçalho do pacote, que contém informações sobre a conexão.

No cabeçalho TCP (Transmission Control Protocol), existem seis bits de controle conhecidos como flags, que podem ter valores de 0 ou 1. Um desses bits é o SYN (Synchronize), que é usado para iniciar uma conexão TCP.

Assim, para identificar se um pacote de dados capturado é uma tentativa de estabelecimento de conexão, é necessário verificar se o sinalizador SYN está configurado como 1 no cabeçalho TCP do pacote. Se o flag SYN estiver definido como 1, significa que é uma solicitação de estabelecimento de conexão (também conhecido como handshake de três vias), em que o remetente está tentando estabelecer uma conexão com o destinatário.

Além disso, o pacote também deve ter o sinalizador ACK (Reconhecimento) configurado como 0, indicando que o remetente ainda não recebeu a confirmação do destinatário de que a conexão foi estabelecida.

Portanto, se um pacote de dados capturados tiver o flag SYN definido como 1 e o flag ACK definido como 0, pode-se concluir que se trata de uma tentativa de estabelecimento de conexão em uma rede TCP/IP.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo