Tabela de conteúdos

Laboratório Wireshark DHCP

Neste laboratório, vamos dar uma rápida olhada no Protocolo de Configuração Dinâmica de Endereços de Rede (DHCP). O DHCP é muito usado em corporações, universidades e redes de trabalho como LAN’s com ou sem fio para gerar dinamicamente endereços IP’s para cada host (bem como para configurar outras informações de rede).

Este laboratório é breve, já que só vamos examinar os pacotes DHCP capturados por um host. Se você também tem acesso administrativo em seu servidor DHCP, você pode querer repetir este laboratório depois de fazer algumas configurações (como o tempo de empréstimo). Se você tem um roteador em casa, você provavelmente pode configurar seu servidor DHCP.

Para executar os comandos solicitados no decorrer da prática, é necessário acesso de super-usuário. Por esse motivo toda a prática deverá ser realizada em uma máquina virtual, com o Ubuntu instalado, com a rede configurada no modo Bridge. Assim a máquina virtual será configurada dentro da rede do IFB.

Preparação da Máquina Virtual

A máquina virtual que será utilizada será um Ubuntu disponibilizado da forma que o aluno achar melhor. Poderá ser instalado ou utilizado no modo de teste. Como estamos trabalhando com máquinas virtuais, para que a prática funcione, as máquinas virtuais devem estar com a interface de rede configurada no modo Bridge. O Ubuntu deverá ter a rede configurada via DHCP.

Antes de iniciar o experimento é necessário instalar o software WireShark, já que ele será utilizado como nosso capturador de pacotes. A instalação poderá ser realizada utilizando o apt ou a Central de Programas Ubuntu. Lembrando que na rede do IFB é necessário configurar o Proxy.

Experimento DHCP

Para observar o DHCP em ação, vamos executar vários comandos relacionados ao DHCP e capturar suas mensagens de troca como resultado da execução desses comandos. Faça o seguinte:

  1. Comece abrindo o terminal (shell) e utilize o programa sudo para torna-se root. Como mostra a figura abaixo, digite dhclient -r. Este comando libera seu endereço IP corrente, de modo que o endereço IP do seu host se torna 0.0.0.0.
  2. Inicie o analisador de pacotes WireShark e comece a captura de pacotes. A WireShark deverá ser iniciado como super-usuário. Para isso abra um outro terminal, torne-se root e digite wireshark para iniciar o analisador,
  3. Agora volte para o terminal e digite dhclient. Isto ordena seu host a obter uma configuração de rede, incluindo um novo endereço IP. Na figura abaixo, o host obtém o endereço IP 10.50.0.30.
  4. Espere até o dhclient ter terminado, então digite o mesmo comando dhclient novamente;
  5. Quando o segundo dhclient terminar, digite o comando dhcliente -r para liberar o endereço IP destinado anteriormente para seu computador.
  6. Finalmente, digite dhclient para um endereço IP ser destinado novamente para seu computador.
  7. Pare a captura de pacotes WireShark.

Tela do Terminal mostrando a seqüência de comandos dhclient que você deve digitar.

Agora vamos dar uma olhada no resultado da tela do WireShark. Para ver somente pacotes DHCP, digite bootp no campo Filtro. (O DHCP deriva-se de um protocolo mais antigo, chamado BOOTP. Ambos usam o mesmo número de portas, 67 e 68. Para ver pacotes DHCP na versão corrente do WireShark, você precisa digitar bootp e não dhcp no filtro).

Vemos na abaixo que o primeiro comando dhclient gerou quatro pacotes DHCP: um pacote DHCP Discover, um DHCP Offer, um DHCP Request e um DHCP ACK.

Tela do WireShark com o primeiro pacote DHCP - o DHCP Discover - expandido.

O QUE ENTREGAR

Você deve entregar uma imagem da tela do Terminal semelhante à primeira figura. Sempre que possível, quando responder cada umas das questões abaixo, você deve entregar uma impressão do(s) pacotes(s) dentro do rastro que você usou para responder a questão proposta. Comente a impressão para explicar sua resposta. Para imprimir um pacote, vá em File → Print, selecione Selected packet only, escolha Packet summary line, e selecione a quantidade mínima de detalhes do pacote que você precisa para responder a questão.

Responda as questões abaixo:

  1. Mensagens DHCP são enviadas por UDP ou TCP?
  2. Trace um datagrama de cronometragem ilustrando a seqüência dos primeiros quatro pacotes de troca entre o cliente e o servidor: DHCP Discover/ DHCP Offer/ DHCP Request /DHCP ACK. Para cada pacote, indicado os números de porta de origem e do destino. Os números de porta são os mesmos que no exemplo dado nesta tarefa de laboratório?
  3. Qual é o endereço da camada de enlace de dados (ex: Ethernet) de seu host?
  4. Que valor na mensagem do DHCP Discover se diferencia da mensagem do DHCP request?
  5. Qual é o valor do ID de transação em cada uma das quatro primeiras mensagens DHCP (Discover/ Offer/ Request/ ACK)?
  6. Quais são os valores do ID de transação na segunda configuração (Request/ ACK) das mensagens DHCP? Qual é o propósito desse campo?
  7. Um host usa o DHCP para obter um endereço IP, entre outras coisas. Mas um endereço IP do host não é confirmado até o fim da troca das quatro mensagens. Se o endereço IP não é configurado até o fim dessas trocas, então que valores são usados no datagrama IP na troca dessas quatro mensagens? Para cada uma delas (Discover/ Offer/ Request/ ACK), indique o IP de origem e de destino que são incluídos no datagrama IP de encapsulamento.
  8. Qual é o endereço IP do seu servidor DHCP?
  9. Que endereço IP o servidor DHCP está oferecendo para seu host na mensagem DHCP Offer? Indique que mensagem DHCP contém o endereço DHCP oferecido.
  10. No exemplo da imagem da tela desta tarefa, não há nenhum agente de relay entre o host e o servidor DHCP. Que valores no rastro indicam a ausência do agente de relay? Há um agente de relay no seu experimento? Se houver, qual é o seu endereço IP?
  11. Explique o propósito das linhas do roteador e da máscara de sub-rede na mensagem DHCP Offer.
  12. No exemplo da imagem da tela nesta tarefa, o host pede o endereço IP oferecido na mensagem DHCP request. O que acontece no seu experimento?
  13. Explique o propósito do lease time (tempo de aluguel). Qual a duração do lease time no seu experimento?
  14. Qual é o propósito da mensagem DHCP Release? O servidor DHCP emite uma acusação de recebimento do pedido DHCP do cliente? O que aconteceria se a mensagem DHCP Release do cliente fosse perdida?
  15. Limpe o filtro Bootp da sua janela do Ethereal. Algum pacote ARP foi enviado ou recebido durante o período de troca de pacotes DHCP? Se sim, explique o propósito desses pacotes ARP.