PCF-3

Questões comentadas, artigos e notícias

Prova 2004 Nacional: Cenário Redes – Questões 82-86

Posted by papacharliefox3 em 01/02/2009

cenario_pcap_04nac

A figura acima ilustra parte da janela de um analisador de rede mostrando os dados de uma conexão TCP entre os hosts A (10.0.0.20) e B (164.0.0.130). Considerando que esses hosts tenham apenas os endereços IP mencionados, julgue os itens a seguir.

[82] Os endereços MAC dos hosts A e B são, respectivamente,
00:01:F4:96:50:7F e 00:80:5F:31:D9:7C.

[83] É correto afirmar que existe, pelo menos, um roteador entre
os dois hosts.

[84] A conexão TCP é mostrada desde o seu estabelecimento até
o seu encerramento, sendo que todos os segmentos TCP
transmitidos são ilustrados pelo menos uma vez na figura.

[85] Trata-se de uma sessão FTP de controle, na qual o cliente
realizou três tentativas malsucedidas de se autenticar no
servidor e foi desconectado por este.

[86] Com exceção dos segmentos TCP usados para estabelecer e
fechar a conexão, todos os outros segmentos carregam uma
quantidade não nula de bytes de dados.

Para facilitar a exposição, os comentários (opiniões pessoais, baseadas em pesquisa e testes) ficarão abaixo de cada item. O gabarito está ao final do post. Antes de começar, alguns questionamentos que ajudarão (ou deixarão mais ‘bolado’) o candidato:

  • Em que local ou onde está posicionado o sensor ou host que capturou este tráfego de rede? No segmento de rede do host A? No segmento do host B? Em um ponto comum da rota entre ambos? Ambos estão no mesmo segmento?
  • A qual programa pertence essa tela? Sabemos que é um analisador de protocolo ou simplesmente um sniffer, mas qual?
  • Sabemos que a rede 10.0.0.0/8 ou o range que está contido neste par rede/máscara não é roteável na Internet (vide RFC 1918); o que dizer do IP 164.0.0.130 referente ao endereço do host B?

As respostas podem ser discutidas no canal #pcf-3 @freenode ou mesmo requisitadas em um cenário similar no próximo concurso! ;) Vamos as duas primeiras questões:

[82] Os endereços MAC dos hosts A e B são, respectivamente,
00:01:F4:96:50:7F e 00:80:5F:31:D9:7C.

[83] É correto afirmar que existe, pelo menos, um roteador entre
os dois hosts.

Responder aos primeiros questionamentos mencionados acima, facilita a resposta destes itens. Entretanto, outros também auxiliam:

  • Podem os hosts participarem de uma mesma rede lógica, de forma que não dependam de um roteador para se comunicarem? Assumamos que não, pois, de maneira prática, teríamos que definir um par rede/máscara que englobasse os dois hosts. Logo, deverá haver um roteador entre eles, no mínimo.
  • Em uma rede Ethernet, frames ou pacotes capturados conterão 2 endereços físicos (MACs), um de origem e outro de destino, este pode ser, inclusive, o endereço de broadcast. Sabendo-se que os dados que serão transferidos entre os hosts passarão por um roteador, este ao entregar um pacote ao host B oriundo de A manterá o MAC (endereço físico) de A ao repassar o pacote? O que o roteador fará é substituir os valores contidos nos campos origem e destino, utilizando os valores referentes aos endereços físicos do seu adaptador de rede (sainte) e do próximo destino. O próximo destino pode ser o destino final (B) ou outro roteador, necessário para entregar o pacote ao destino final. Enfim, um pacote/frame qualquer, capturado naquela sessão, não poderá conter endereços físicos de ambos os hosts.

[84] A conexão TCP é mostrada desde o seu estabelecimento até
o seu encerramento, sendo que todos os segmentos TCP
transmitidos são ilustrados pelo menos uma vez na figura.

Uma conexão TCP é estabelecida em 3 etapas (também conhecidas como TCP/IP Handshake). Assim, para validar a afirmação da questão, deveremos encontrar o estabelecimento e o encerramento da conexão. Os segmentos referentes ao estabelecimento, são os seguintes:

  1. Linha 228: Host A (cliente) envia o segmento TCP contendo a flag SYN setada com número de sequência igual a 0 e janela de 5840 bytes;
  2. Linha 229: Host B (servidor) envia segmento aceitando a conexão, nesse estão as informações de sequência igual a 0; ACK iguaal a 1; janela de 5792 bytes e flags SYN e ACK setadas com valor 1;
  3. Linha 230: Cliente confirmaa reconhecimento da disponibilidade da conexão, desta vez com número de sequência igual a 1, e requisitando o próximo segmento de numero 1 (ACK=1). Além disso, a flag SYN possui valor 0 e a ACK tem valor 1, com o mesmo valor de janela inicial.

Como pode-se perceber, o famoso “SYN | SYNACK | ACK” existiu e conforme manda o “figurino”, seguindo o que manda o protocolo. Agora, o encerramento:

  1. Linha 428: Cliente envia um segmento com flags FIN e ACK setadas; o comando quit/exit/bye (depende do software FTP) foi digitado no cliente;
  2. Linha 429: Segmento de ACK do servidor (fechamento passivo);
  3. Linha 457: Segmento FIN/ACK do servidor (3a via do procedimento padrão de fechamento).

As linhas 458 e 459 contém um segmento (RST) enviado pelo cliente, que provavelmente não possuia mais recursos alocados à conexão, em resposta a segmentos anteriores, oriundos do servidor.

As linhas 458 e 459 contém um segmento (RST) enviado pelo servidor, que provavelmente não possuia mais recursos alocados à conexão, em resposta a segmentos anteriores, oriundos do cliente.

Vale aqui uma citação do Tanenbaum[2]: “Apesar das conexões TCP serem full-duplex, fica mais fácil compreender como as conexões são encerradas se as considerarmos um par de conexões simplex. Cada conexão simplex é encerrada de modo independente de sua parceira. Para encerrar uma conexão, qualquer dos lados pode enviar um segmento com o bit FIN ativado, o que significa que não há ma is dados a serem transmitidos.”

Diferentemente do padrão adotado para estabelecer uma conexão TCP, o encerramento desta possui número variável de vias. No entanto, o comportamento padrão utiliza de 4 vias, ou seja, um ACK para cada FIN a paartir de cada lado. (autores podem discordar quanto ao mais comum, mas não quanto ao padrão do protocolo)

[85] Trata-se de uma sessão FTP de controle, na qual o cliente
realizou três tentativas malsucedidas de se autenticar no
servidor e foi desconectado por este.

O protocolo FTP usa duas conexões TCP paralelas para efetuar comandos e transferência de dados: conexão de controle e conexão de dados. Os comandos FTP utilizados na sessão exposta foram: USER, PASS, SYST e QUIT. Esses não exigem uma conexão de dados para serem executados, o que está de acordo com a primeira parte “Trata-se de uma sessão FTP de controle”.

Além disso, ao analisar o cenário proposto, percebe-se que o comando (FTP) PASS é o comando que envia a senha ao servidor para autenticação, logo, para validar o restante da questão, deveremos verificar se existem 3 comandos desse tipo, além de 3 respostas do servidor (host B) com mensagens de falha de autenticação. Estas situações confirmam-se ao percebermos 3 ocorrências da mensagem de retorno 530 “Login Incorrect” (servidor) logo após os respectivos comandos de autenticação USER/PASS (cliente).

Observação: este item teve gabarito alterado, o que nos leva a crer que a última parte pode ter gerado controvérsia, visto que a conexão foi terminada pelo servidor passivamente (o FIN inicial veio do cliente).

[86] Com exceção dos segmentos TCP usados para estabelecer e
fechar a conexão, todos os outros segmentos carregam uma
quantidade não nula de bytes de dados.

As últimas duas linhas do trecho (458 e 459) não mais têm a ver com o encerramento da conexão, além disso, esses pacotes ‘RST’ não possuem dados.

Mandem seus comentários! Até a próxima.

Gabarito: 82-E  83-C  84-C  85-C(definitivo)  86-E

Links / Referências:

[1] Rede de Computadores e a Internet, Kurose
[2] Redes de Computadores, Tanenbaum
[3] TCP/IP Illustrated, Stevens
[4] File Transfer Protocol, RFC 959

5 Respostas to “Prova 2004 Nacional: Cenário Redes – Questões 82-86”

  1. Halley said

    Mt bom!

  2. João said

    Olá!
    Obrigado pelo comentário no meu blog.
    Gostaria de fazer uma observação na resolução das questões.
    O host que envia o RST é o servidor (164.0.0.130) e não o cliente (10.0.0.20). Concorda? Abraços e parabéns pelo ótimo blog!

  3. papacharliefox3 said

    Ops! Tens razão! Correção feita, valeu!

  4. João said

    Olá novamente!
    Estava aqui lendo os comentários do CESPE a respeito da alteração de gabarito e minha interpretação a respeito do ITEM 86 mudou. O gabarito continua como ERRADO, mas o motivo é outro.
    O item fala de segmento, logo é camada de transporte. O que são dados para a camada de transporte? Tudo que vier depois do cabeçalho. Logo, os comandos FTP são dados para a camada de transporte, o que faz com que tais segmentos possuam dados. Concorda comigo?
    Realmente, todos os segmentos com flags de início/fim de conexão TCP terão payload igual a zero, mas o item restringe a exclusão apenas a essas três flags (SYN,FIN e RST). Mas a captura mostra segmentos ACK sozinhos, fora do estabelecimento/fechamento da conexão. Isso torna o item falso pois não são todos os outros segmentos que carregam uma quantidade não nula de bytes de dados, o ACK carrega uma quantidade nula de bytes =)

  5. papacharliefox3 said

    Concordo sim. ‘Dados’ neste contexto é um pacote ACK, simples. Um comando FTP (controle) é dado. Pelo enunciado, ele restringiu-se as linhas que contêm a flag RST, nestas constata-se quantidade nula de bytes de dados, ao contrário do que se encontra na questão.

    Valeu! []s

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: