Você está na página 1de 7

Avaliação de LABORATÓRIO DE REDES DE COMPUTADORES (LRC)

Docente: Prof. Esp. Elton Ricelli Ferreira de Rezende


Discente(s): Josevaldo Data: 22/ 03/2024
Pedro Guilherme
Nelson Junior

A1 - Atividade Avaliativa Virtualizada


A presente avaliação tem como objetivo compreender o funcionamento dos protocolos IP,
UDP e TCP. Para tanto será utilizado o software Wireshark para captura e análise dos cabeçalhos
destes protocolos.
O trabalho/avaliação é uma adaptação proposta nos documentos originais em inglês de J. F.
Kurose e K. W. Ross, de livre distribuição para acompanhamento do livro “Computer
Networking: A Top-Down Approach, 6th ed., J.F. Kurose and K.W. Ross”.

ANÁLISE DO IP
Para a análise do IP faremos um rastreamento de datagramas IP enviados e recebidos por
intermédio da execução dos programas traceroute e ping.
O traceroute opera enviando primeiro um ou mais datagramas com o campo tempo de vida
“Time To Live” (TTL) no cabeçalho IP definido como 1. Depois ele envia um ou mais datagramas
para o mesmo destino com um valor TTL de 2. Depois envia uma série de datagramas para o
mesmo destino com um valor TTL de 3, e assim por diante.
Um roteador deve diminuir o TTL em cada datagrama recebido em pelo menos 1 e, se o
valor de TTL atingir 0, o roteador retornará uma mensagem ICMP informando “TTL excedido”
ao hospedeiro de envio. Como resultado desse comportamento, um datagrama com um TTL
igual a 1 fará com que o roteador a um salto do remetente envie uma mensagem de volta ao
remetente. O datagrama enviado com um TTL de 2 fará com que o roteador a dois saltos de
distância envie uma mensagem de volta ao remetente. O datagrama enviado com um TTL de 3
fará com que o roteador a três saltos de distância envie uma mensagem de volta ao remetente,
e assim por diante. Dessa maneira, o computador que executa o traceroute pode aprender as
identidades dos roteadores entre ele e o destino observando os endereços IP de origem nos
datagramas que contêm as mensagens retornadas.

Faça o seguinte:
• Inicie o Wireshark e comece a captura de pacotes.
• Se estiver utilizando a plataforma Windows abra o “Prompt de comando” - CMD
e execute o comando “tracert -d www.brasil.br”. O parâmetro “-d” fará com que o traceroute
não tente converter os endereços IP em nomes de hospedeiros, acelerando sua execução.
• Se estiver usando uma plataforma Linux/Unix abra um shell e execute o
comando “traceroute
-n www.brasil.br”. O parâmetro “-n” fará com que o traceroute não tente converter os
endereços IP em nomes de hospedeiros, acelerando sua execução.
• Quando o traceroute terminar o rastreamento pare a captura com o Wireshark.
• Salve a captura de pacotes em um arquivo de nome “Captura IP 1”.

Observando a captura
Na captura você poderá ver a série de mensagens ICMP “Echo Request” (no caso de
máquinas Windows) ou o segmento UDP (no caso do Unix) enviados pelo seu computador e as
mensagens ICMP “TTL exceeded” retornadas ao seu computador pelos roteadores
intermediários.
Dica: você pode encontrar pacotes ICMP digitando “icmp” no campo “filtro de exibição de
pacotes”
do Wireshark. Depois de encontrar não se esqueça de limpar o campo para ver os demais
pacotes.
Sempre que responder uma pergunta abaixo você deve informar o número do(s) pacote(s)
que você usou para responder à pergunta feita.

• Selecione a primeira mensagem ICMP “Echo Request” enviada pelo seu computador e
expanda a parte do protocolo IP do pacote na janela de detalhes do pacote. Qual é o
endereço IP do seu computador?
• No cabeçalho do pacote IP, qual é o valor no campo do protocolo da camada superior
(ICPM)?
• resposta: 172.18.40.69

• Quantos bytes estão no cabeçalho IP? Quantos bytes estão na carga útil do datagrama IP?
Explique como você determinou o número de bytes de carga útil.
• resposta: header lehgth: 20 bytes
• carga util determinada pelo total menos o cabeçalho, total = 80, carga util= 60bytes
• Este datagrama IP foi fragmentado? Explique como você determinou se o datagrama foi ou
não fragmentado.
• resposta: fragament offset=0, sendo assim não foi fragmentado

Em seguida ordene os pacotes rastreados de acordo com o endereço IP de origem clicando


no cabeçalho da coluna “Source”.

Selecione a primeira mensagem ICMP “Echo request” enviada pelo seu computador e
expanda a parte do protocolo IP no campo “detalhes do cabeçalho do pacote selecionado”. No
campo “lista de pacotes” você deverá ver todas as mensagens ICMP subsequentes abaixo deste
primeiro ICMP. Use a seta para baixo para percorrer as mensagens ICMP enviadas pelo seu
computador.

• Quais campos no datagrama IP sempre mudam de um datagrama para o próximo dentro


desta série de mensagens ICMP enviadas pelo seu computador?
• identification, source, differentiated services field, total length, ttl,

• Quais campos permanecem constantes?


• resposta: protocolo, version, header length, flags

• Qual dos campos deve permanecer constante?
• version,
• Quais campos devem ser alterados? Por quê?
• resposta: identification, source, differentiated services field, total length, ttl,
identificação deve ser alterado porque para cada pacote recebe um id do pacote, source
diferente para cada chamada,

• Descreva o padrão que você vê nos valores no campo de identificação do datagrama IP.

uma identificação em hexadecimal.

Em seguida (com os pacotes ainda classificados por endereço de origem) encontre a série de
respostas ICMP TTL excedidas enviadas ao seu computador pelo roteador mais próximo
(primeiro salto).
• Qual é o valor no campo Identificação e no campo TTL?
• 0x7773 (30579), ttl=64

• Esses valores permanecem inalterados para todas as respostas ICM “TTL exceeded” enviadas
ao seu computador pelo roteador mais próximo (primeiro salto)? Por quê?

identification muda, ttl estatico

Fragmentação
Para observar a fragmentação enviaremos pacotes grandes pela rede com a utilização do
comando ping, que envia mensagens ICM “Echo request” para um destino, que deverá
responder com uma mensagem ICMP “Echo reply”.
Faça o seguinte:
• Inicie o Wireshark e comece a captura de pacotes.
• Se estiver utilizando a plataforma Windows abra o “Prompt de comando” e
execute o comando “ping -l 2000 www.brasil.br”. O parâmetro “-l” é a letra L em minúsculo e
faz com que o pacote do ping seja enviado com determinada quantidade de bytes (no caso,
2000 bytes). Quando terminar a execução do comando execute “ping -l 3500 www.brasil.br”.
Não há problema se não houver respostas do servidor para estes comandos.
• Se estiver utilizando a plataforma Linux/Unix abra um shell e execute o comando
“ping -c 4 -s 2000 www.brasil.br”. O parâmetro “-c” especifica a quantidade de testes que
serão realizados e o parâmetro “-s” faz com que o pacote do ping seja enviado com
determinada quantidade de bytes (no caso, 2000 bytes). Quando terminar a execução do
comando execute “ping -c 4 - s 3500 www.brasil.br”. Não há problema se não houver respostas
do servidor para estes comandos.
• Quando o ping terminar os testes pare a captura com o Wireshark.
• Salve a captura de pacotes em um arquivo de nome “Captura IP 2”.

• Encontre a primeira mensagem ICMP “Echo Request” que foi enviada pelo seu computador
com o tamanho do pacote de 2000 bytes. Essa mensagem foi fragmentada em mais de um
datagrama IP?

foi fragmentada

• Identifique o primeiro fragmento do datagrama IP fragmentado. Quais informações no


cabeçalho IP indicam que o datagrama foi fragmentado? Quais informações no cabeçalho IP
indicam se este é o primeiro fragmento versus um último fragmento? Qual o valor do campo
“Time” para este datagrama IP?

pelo frame
time = 128

• Identifique o segundo fragmento do datagrama IP fragmentado. Quais informações no


cabeçalho IP indicam que este não é o primeiro fragmento de datagrama? Existem mais
fragmentos? Como você sabe?

pelo payload contem a seguencia dos bytes


nao existe mais fragmentos devido ter totalizado o numero de bytes

print no pt5

• Quais campos mudaram no cabeçalho IP entre o primeiro e o segundo fragmento?

frame e o payload

Agora encontre a primeira mensagem ICMP “Echo Request” que foi enviada pelo seu
computador com o tamanho do pacote de 3500 bytes.

• Quantos fragmentos foram criados a partir do datagrama original?

3 fragmentos
• Quais campos mudam no cabeçalho IP entre os fragmentos?

frame e o payload

ANÁLISE DO UDP
Comece a capturar pacotes no Wireshark e depois faça algo para que seu computador envie
e receba vários pacotes UDP. É provável que, ao não fazer nada (exceto capturar pacotes via
Wireshark), alguns pacotes UDP enviados por outros programas apareçam no seu
rastreamento. Após a captura de alguns pacotes contendo o UDP para a captura.
Uma dica: você pode verificar a captura do UDP digitando “udp” no campo “filtro de
exibição de pacotes” do Wireshark durante a captura de pacotes.
Pare a captura de pacotes e salve-a em um arquivo de nome “Captura UDP”.
Após parar a captura de pacotes, defina seu filtro de pacotes para que o Wireshark exiba
apenas os pacotes UDP enviados e recebidos. Escolha um desses pacotes UDP e expanda os
campos UDP no campo “detalhes do cabeçalho do pacote selecionado”.

Ao responder as perguntas abaixo informe o(s) números(s) do(s) pacote(s) dentro do


rastreamento que você usou para responder à pergunta.
pacote 18
• Selecione um pacote UDP do seu rastreio. A partir desse pacote, determine quantos campos
existem no cabeçalho UDP. Nomeie esses campos.
5 campos
frame 18, ethernet II, Internet protocol version 6, user datagrama protocol, data

• Consultando as informações exibidas no campo de conteúdo de pacote do Wireshark para


este pacote, determine o comprimento (em bytes) de cada um dos campos do cabeçalho UDP.

header = 17 bytes

• O valor no campo Comprimento é o comprimento de quê? Qual o valor deste campo no


pacote selecionado.

comprimento de bytes capturados


lenght = 718

• Qual é o número máximo de bytes que podem ser incluídos na carga útil UDP? O tamanho da
carga útil do protocolo é a quantidade de bytes de dados podem ser enviados.

maximo de 5744

• Qual é o maior número de porta de origem possível?

65535

• Qual é o número do protocolo para o UDP? Dê sua resposta em ambas as notações


hexadecimal e decimal.
dec

= 17
hex = 0x11

• Examine um par de pacotes UDP no qual seu computador envia o primeiro pacote UDP, e o
segundo pacote UDP é uma resposta a este primeiro pacote UDP. Dica: para um segundo
pacote ser enviado em resposta a um primeiro pacote, o remetente do primeiro pacote deve
ser o destino do segundo pacote. Descreva o relacionamento entre os números de porta nos
dois pacotes.

ANÁLISE DO TCP
Capturando uma transferência TCP em massa para um servidor remoto
Antes de começar a exploração do TCP precisaremos usar o Wireshark para obter um
rastreamento de pacote da transferência TCP de um arquivo do seu computador para um
servidor remoto. Você fará isso acessando uma página da Web que permitirá que você insira o
nome de um arquivo armazenado em seu computador e, em seguida, transferirá o arquivo para
um servidor Web usando o método HTTP POST.
Faça o seguinte:
• Inicie seu navegador web, abra a URL http://gaia.cs.umass.edu/wiresharklabs/alice.txt
e faça o download de uma cópia ASCII de Alice no País das Maravilhas. Armazene este arquivo
em algum lugar no seu computador.
• Em seguida, vá para http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html
HYPERLINK "http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html%20HYPERLINK
%20%22http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html%22." HYPERLINK
"http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html" HYPERLINK
"http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html%20HYPERLINK
%20%22http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html%22.".
• Você deve ver uma tela parecida a da Figura 1.
• Use o botão “Escolher arquivo” (ou “browse”, dependendo de seu navegador) para
inserir o nome do arquivo (nome completo do caminho) que contém o texto de “Alice's
Adventures in Wonderland”. Ainda não pressione o botão “Upload alice.txt file”.
• Inicie o Wireshark e inicie a captura de pacotes.
• Retornando ao seu navegador, pressione o botão “Upload alice.txt file” para fazer o
upload do arquivo para o servidor gaia.cs.umass.edu. Uma vez que o arquivo tenha sido
carregado, uma pequena mensagem de felicitações será exibida na janela do seu navegador.
• Pare a captura de pacotes.
• Salve a captura de pacotes em um arquivo de nome “Captura TCP”.
Figura 1 - Tela de http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html.

Uma primeira olhada nos pacotes capturados


Antes de analisar detalhadamente o comportamento da conexão TCP, vamos ter uma visão
de alto nível da captura.
Antes de tudo, filtre os pacotes exibidos na janela do Wireshark digitando “tcp” (minúsculas,
sem aspas e não esqueça de pressionar “Enter” após) no campo “filtro de exibição de pacotes”.
O que você deve ver é uma série de mensagens TCP e HTTP entre o seu computador e o
servidor gaia.cs.umass.edu. Você deve ver a apresentação de 3 vias (3-way handshake) inicial
contendo uma mensagem SYN. Você deve ver uma mensagem HTTP POST. Dependendo da
versão do Wireshark que você está usando, você pode ver uma série de mensagens
“Continuação de HTTP” sendo enviadas do seu computador para gaia.cs.umass.edu. Esta não é
uma mensagem de continuação HTTP - é apenas a maneira de o Wireshark indicar que há
vários segmentos TCP sendo usados para transmitir uma única mensagem HTTP. Em outras
versões do Wireshark, você verá “[segmento TCP de uma PDU remontada]” na coluna Info da
tela do Wireshark para indicar que esse segmento TCP continha dados que pertenciam a uma
mensagem de protocolo da camada superior (no nosso caso aqui, HTTP). Você também deve
ver segmentos TCP ACK sendo retornados de gaia.cs.umass.edu para o seu computador.
Sempre que responder uma pergunta abaixo você deve informar o número do(s) pacote(s)
que você usou para responder à pergunta feita.
Responda às seguintes questões:

• Qual é o endereço IP e o número da porta TCP usados pelo computador cliente que está
transferindo o arquivo para gaia.cs.umass.edu?

172.18.40.69:64158

• Qual é o endereço IP de gaia.cs.umass.edu? Qual número de porta está enviando e recebendo


segmentos TCP para esta conexão?

20.201.52.37:443

Como esse laboratório é sobre TCP em vez de HTTP, vamos alterar a listagem de pacotes
capturados do Wireshark para que ele mostre informações sobre os segmentos TCP que
contêm as mensagens HTTP, e não sobre as mensagens HTTP. Para que o Wireshark faça isso,
selecione “Analyze” → “Enabled Protocols...”. Em seguida, desmarque a caixa “HTTP” e clique
em “OK”. Agora você deve ver uma janela do Wireshark que se parece com a da Figura 2.

Figura 2 – Janela com protocolo HTTP


desabilitado.

É o que procuramos - uma série de segmentos TCP enviados entre o seu computador e o
servidor gaia.cs.umass.edu. Usaremos o rastreamento de pacotes que você capturou para
estudar o comportamento do TCP.
Noções Básicas do TCP
Responda as seguintes perguntas para os segmentos TCP:
• Qual é o número de sequência do segmento TCP SYN que é usado para iniciar a conexão TCP
entre o computador cliente e o servidor gaia.cs.umass.edu? O que é no segmento que
identifica o segmento como um segmento SYN?
Response:
N° seq => 0
A origem e o destino mesmo número de sequência que é [0 ou 1], logo se a origem
manda 1 o destino responde 1;
• Qual é o número de sequência do segmento SYNACK enviado por gaia.cs.umass.edu para o
computador cliente em resposta ao SYN? Qual é o valor do campo Confirmação no segmento
SYNACK? Como
• Resposta: O N° é 0
• Qual é o número de sequência do segmento TCP que contém o comando HTTP POST?
Observe que, para

• precisa acessar o campo de conteúdo do pacote na parte inferior da janela do Wireshark,
procurando um segmento com um “POST” no campo DATA.
• Considere o segmento TCP que contém o HTTP POST como o primeiro segmento na conexão
TCP. Quais são os números de sequência dos seis primeiros segmentos na conexão TCP
(incluindo o segmento que contém o HTTP POST)? A que horas cada segmento foi enviado?
Quando o ACK foi recebido por cada segmento?
• Qual é o tamanho de cada um dos seis primeiros segmentos TCP?
• Qual é a quantidade mínima de espaço de buffer disponível anunciado no recebimento para
todo o rastreamento? A falta de espaço no buffer do receptor estrangula o remetente?
• Existem segmentos retransmitidos no arquivo de rastreamento? O que você verificou (no
rastreamento) para responder a essa pergunta?
• Qual é o rendimento (bytes transferidos por unidade de tempo) para a conexão TCP?
Explique como você calculou esse valor.

ENTREGA DA AVALIAÇÃO
A avaliação pode ser realizada em grupo com três componentes no máximo.
Criar um documento em PDF contendo as respostas para as perguntas realizadas.
Postar no SIGAA no local predefinido com o nome “A1 – [nome(s) do(s) integrante(s)]”:
• Documento em PDF com as respostas das perguntas realizadas. Não esquecer de
mencionar os números dos pacotes utilizados para responder cada pergunta e ilustrar com
“prints” das respectivas partes no Wireshark.
• Captura IP 1.
• Captura IP 2.
• Captura UDP.
• Captura TCP.

Orientações importantes:
• No início do documento deve constar o nome completo de todos os integrantes
do grupo.
• A avaliação precisa ser enviada por apenas um dos componentes do grupo.

Prazo de entrega: [HOJE].

BOA SORTE!!!

Você também pode gostar