Redes TCP/IP - Ex 03: mudanças entre as edições

De Eriberto Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
mSem resumo de edição
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
{{redes_tcpip|3 - Protocolo IPv4}}
{{redes_tcpip|3 - Protocolo IPv4}}
== Base de conhecimentos para resolução do exercício ==
== Base de conhecimento para a resolução do exercício ==


* RFC 791 - Protocolo IPv4, disponível em http://www.rfc-editor.org/rfc/rfc791.txt.
* Cartão de referência do TCP/IP e TCPDump, disponível em http://www.sans.org/resources/tcpip.pdf.
* Cartão de referência do TCP/IP e TCPDump, disponível em http://www.sans.org/resources/tcpip.pdf.
* Protocolos IP, disponível em /etc/protocols ou em http://www.iana.org/assignments/protocol-numbers.
* Protocolos IP, disponível em /etc/protocols ou em http://www.iana.org/assignments/protocol-numbers.
* Serviços TCP/IP, disponível em /etc/services ou em http://www.iana.org/assignments/port-numbers.
* Serviços TCP/IP, disponível em /etc/services ou em http://www.iana.org/assignments/port-numbers.
* Special-Use IPv4 Addresses, disponível em http://www.rfc-editor.org/rfc/rfc5735.txt.
* Special-Purpose IP Address Registries, disponível em http://www.rfc-editor.org/rfc/rfc6890.txt.
<br><br>
<br><br>
== Questões ==
== Questões ==


# '''Observe a sequência de bytes a seguir, referente a um cabeçalho IP, obtidos a partir de uma captura em uma transação de rede:'''
# '''Qual RFC regulamenta o protocolo IPv4?'''
#: <br>
# '''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:'''
#: <br>
#: <br>
#: 45 00 00 3c 98 7a 00 00 80 01 8d 2b 0a 01 02 16 0a 02 00 01
#: 45 00 00 3c 98 7a 00 00 80 01 8d 2b 0a 01 02 16 0a 02 00 01
Linha 20: Linha 24:
#: b) Qual é o endereço IP de origem?
#: b) Qual é o endereço IP de origem?
#: c) Qual é o endereço IP de destino?
#: c) Qual é o endereço IP de destino?
#: d) Que protocolo IP está sendo utilizado?
#: d) Qual protocolo IP está sendo utilizado?
#: e) Qual é o TTL do pacote?
#: e) Qual é o TTL do pacote?
#: f) Qual é o sistema operacional do cliente?
#: f) Qual é o sistema operacional do cliente?
Linha 27: Linha 31:
#: <br>
#: <br>
# '''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?'''
# '''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?'''
#: <br>
# '''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?
#: <br>
#: <br>
#'''Cite os arquivos do GNU/Linux que possuem os seguintes conteúdos:'''
#'''Cite os arquivos do GNU/Linux que possuem os seguintes conteúdos:'''
Linha 32: Linha 38:
#: a) Protocolos IP
#: a) Protocolos IP
#: b) Serviços TCP/IP
#: b) Serviços TCP/IP
#: <br>
# '''Observe a resposta a um comando ping:'''
#: <br>
#: $ 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
#: <br>
#: '''Responda:'''
#: <br>
#: a) Qual é o sistema operacional do host que foi "pingado"?
#: b) Quantos roteadores existem entre as máquinas envolvidas no tráfego mostrado?
#: <br>
#: <br>
# '''Responda:'''
# '''Responda:'''
Linha 38: Linha 58:
#: b) Quais são o menor e o maior tamanho possíveis para um pacote 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?
#: 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)
#: <br>
# '''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.'''
#: <br>
#: 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
#: <br>
#: Exemplo de comando:
#: <br>
#: # tcpdump -nvi eth1 -host www.darknet.com.br
#: <br>
#: '''Opções a serem descritas:'''
#: <br>
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000; font-size:120%; text-align:center" border="1" cellpadding="10" cellspacing="0"
!Opção
!Descrição
|-
| -n
| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
|-
| -v
|
|-
| -vvv
|
|-
| -i
|
|-
| -w
|
|-
| -r
|
|-
| -A
|
|-
| -x
|
|-
| -t
|
|-
| -tttt
|
|-
| -c
|
|-
| -D
|
|-
| host
|
|-
| net
|
|-
| port
|
|-
| and
|
|-
| or
|
|-
| ! (ou not)
|
|}

Edição atual tal como às 05h01min de 22 de maio de 2017

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)