Redes TCP/IP - Ex 03

De Eriberto Wiki
Ir para navegação Ir para pesquisar

by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>

Exercício de fixação ligado diretamente ao artigo Redes TCP/IP, existente neste wiki.

O conteúdo a seguir poderá ser utilizado por outros professores,
desde que a fonte seja citada e os créditos mantidos.

Última atualização: veja o rodapé desta página.




Exercício 3 - Protocolo IPv4





Base de conhecimento para a resolução do exercício



Questões

  1. Qual RFC regulamenta o protocolo IPv4?

  2. Observe a sequência de bytes a seguir, referente a um cabeçalho IP, obtido a partir de uma captura em uma transação de rede:

    45 00 00 3c 98 7a 00 00 80 01 8d 2b 0a 01 02 16 0a 02 00 01

    Dica: para resolver esta questão, de acordo com a necessidade, transforme alguns campos de hexadecimal para binário ou decimal e consulte o cartão TCP/IP para entender o cabeçalho IP.

    Responda:

    a) Qual é o tamanho, em bytes, do cabeçalho IP em questão? (campo IHL)
    b) Qual é o endereço IP de origem?
    c) Qual é o endereço IP de destino?
    d) Qual protocolo IP está sendo utilizado?
    e) Qual é o TTL do pacote?
    f) Qual é o sistema operacional do cliente?

  3. Um pacote IP acaba de passar por um roteador. Quais campos do cabeçalho deste pacote serão, obrigatoriamente, alterados pelo roteador?

  4. Muitas vezes, os MS Windows, quando não possuem endereço IP fixo e não encontram um servidor DHCP na rede, utilizam o endereço IP 169.254.x.x. Por que isso acontece? De onde vem esse endereço IP?

  5. Sistemas de firewall são formados por vários elementos. Um deles é o filtro de pacotes, que é capaz de, dentre outras coisas, analisar todos os campos do cabeçalho IP. Um exemplo de filtro de pacotes é o Netfilter, acionado pelo comando iptables. Assim sendo, o que um filtro de pacotes deveria fazer ao receber um pacote IP cujo 13º byte fosse 0xF0?

  6. Cite os arquivos do GNU/Linux que possuem os seguintes conteúdos:

    a) Protocolos IP
    b) Serviços TCP/IP

  7. Observe a resposta a um comando ping:

    $ ping eriberto.pro.br
    PING eriberto.pro.br (64.90.49.55) 56(84) bytes of data.
    64 bytes from apache2-fritz.sasin.dreamhost.com (64.90.49.55): icmp_req=1 ttl=47 time=194 ms
    64 bytes from apache2-fritz.sasin.dreamhost.com (64.90.49.55): icmp_req=2 ttl=47 time=194 ms
    64 bytes from apache2-fritz.sasin.dreamhost.com (64.90.49.55): icmp_req=3 ttl=47 time=196 ms
    64 bytes from apache2-fritz.sasin.dreamhost.com (64.90.49.55): icmp_req=4 ttl=47 time=201 ms

    Responda:

    a) Qual é o sistema operacional do host que foi "pingado"?
    b) Quantos roteadores existem entre as máquinas envolvidas no tráfego mostrado?

  8. Responda:

    a) Quais são o menor e o maior tamanho possíveis para um cabeçalho IP?
    b) Quais são o menor e o maior tamanho possíveis para um pacote IP?
    c) Como se calcula o tamanho do payload de um pacote IP?
    d) O que é um datagrama?
    e) Por qual motivo o IP só garante os dados do seu cabeçalho? (via checksum)
    f) Segundo a RFC 791, qual é a mínima quantidade de bytes que qualquer host de rede deve aceitar receber obrigatoriamente no IPv4?
    g) Sobre a questão anterior, diga como é composto o valor encontrado. (dica: é a soma de dois valores)
    h) Considerando que o IP quase sempre não tem options e padding e que o campo ToS geralmente não é utilizado, quais serão, na maioria das vezes, os dois primeiros bytes de um pacote IP? (em hexadecimal)

  9. O comando tcpdump (windump no MS Windows) é amplamente utilizado em análises de tráfego. Consultando o seu manual on-line e o da libpcap ou os sites a seguir, diga para que serve cada uma das opções mostradas.

    Sites: http://www.tcpdump.org/tcpdump_man.html e http://www.manpagez.com/man/7/pcap-filter
    Guia: http://eriberto.pro.br/files/guia_tcpdump.pdf

    Exemplo de comando:

    # tcpdump -nvi eth1 -host www.darknet.com.br

    Opções a serem descritas:

Opção Descrição
-n                                                                                                        
-v
-vvv
-i
-w
-r
-A
-x
-t
-tttt
-c
-D
host
net
port
and
or
! (ou not)