MC822 -- Teleprocessamento e Redes -- Primeiro semestre -- 2009
Professor Nelson Fonseca
Laboratório I: ferramentas
Objetivo: familiarizar-se com ferramentas que fornecem informações e estatísticas a respeito da rede em um sistema Unix-like.
Obs.1: como a maioria dos programas, as ferramentas possuem páginas de manual que podem ser acessadas através do comando man nome_da_ferramenta.
Obs.2: em todos os exercícios em que deve ser realizado acesso a algum servidor web, deve-se limpar o cache do navegador antes do acesso para garantir que o conteúdo da página será transferido via rede.
Obs.3: para facilitar a execução de todos os programas, a variável de ambiente PATH deve conter os seguintes diretórios: /bin:/usr/bin:/sbin:/usr/sbin . Para modificar o PATH, execute no terminal: export PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
Exercícios:
ping: informa se um host na internet está alcançável
ou não. Também fornece informações a respeito do tempo de ida e volta de um
pacote (round-trip-time - RTT). Ele envia e recebe pacotes com
mensagens do protocolo da camada de rede ICMP.
1-) Através da execução do comando ping -c 10 seguido dos
parâmetros adequados, responda às seguintes questões:
[0,8] 1.1-) Qual a função do parâmetro -c? Quais foram os tempos de ida e
volta mínimo, médio e máximo obtidos da sua máquina para o site do google no
Brasil (www.google.com.br)?
[0,8] 1.2-) Quais foram os tempos de ida e volta mínimo, médio e máximo obtidos da
sua máquina para o site do IC (www.ic.unicamp.br)? Os tempos foram menores
ou maiores do que os obtidos na questão anterior? Explique o motivo da
diferença.
[0,8] 1.3-) O host www.lrc.ic.unicamp.br é alcançável pelo ping? Verifique se é
possível acessar o site contido neste host através do navegador (http://www.lrc.ic.unicamp.br). A
partir do observado você considera que o ping, isoladamente, pode ser
considerado como uma ferramenta para verificar a disponibilidade de um host na
internet?
ifconfig: fornece e configura dados a cerca da
configuração de rede do computador.
route: fornece e configura dados a cerca da configuração do
roteamento no computador.
[0,8] 1-) Através da execução do comando ifconfig, responda às seguintes
questões: quais os endereços IP da sua estação de trabalho? Quais interfaces
de rede a sua estação possui? Quantos bytes foram enviados e quantos bytes
foram recebidos por cada interface?
[0,8] 2-) Execute o comando route. Quantas rotas estão definidas na
estação? Qual é a interface de rede padrão para a qual os pacotes
seguem?
nslookup: fornece informações a respeito da resolução
de nomes na internet. Ele envia e recebe pacotes com mensagens do
protocolo da camada de aplicação DNS.
5-) Através da execução do comando nslookup seguido dos parâmetros adequados,
responda às seguintes questões:
[0,8] 5.1-) Quais os endereços IP do site do google no Brasil? Qual a finalidade de
haver mais de um endereço?
[0,8] 5.2-) Qual o nome relacionado com o endereço IP 127.0.0.1? O que há de especial
neste endereço?
traceroute: fornece informações a respeito da rota
entre dois hosts na internet. Ele interpreta pacotes com mensagens
do protocolo da camada de rede ICMP.
6-) Através da execução do comando traceroute seguido dos parâmetros
adequados, responda às seguintes questões:
[0,8] 6.1-) Quantos roteadores estão entre a sua estação e o host www.geant.net? Pelos
nomes dos roteadores, quantos deles estão localizados no Brasil?
[0,8] 6.2-) Quantos roteadores estão entre a sua estação e o host home.pl? A rota
contrária é feita pelos mesmos roteadores? (Utilize a página http://home.pl/test para responder a esta
questão. Mais informações sobre essa página podem ser encontradas em http://www.traceroute.org/).
[0,8] 6.3-) Observando os valores de RTT na saída do comando da questão 6.1, os
pacotes alcançam enlaces transatlânticos a partir de que hop? O que fez você
chegar a essa conclusão?
wireshark: sniffer e analisador de pacotes com
interface gráfica.
7-) Conecte, via ssh -X, na máquina proto.lab.ic.unicamp.br.
Utilize o seu RA como usuário e seu primeiro nome, sem acentos, como senha.
Todos os exercícios envolvendo o wireshark deverão ser realizados via ssh
nesta máquina. Execute o wireshark através do comando sudo
/usr/sbin/wireshark e siga os passos a seguir para tomar familiaridade
com o programa:
- Na interface gráfica exibida, e semelhante àquela na Figura 1, configure
as opções para capturar os pacotes clicando no menu 'Capture' e depois em
'Options'.

Figura 1
- Na janela de opções (semelhante àquela da Figura 2), no campo 'interface',
selecione a interface eth0. Uma vez selecionada a interface, escreva no campo destinado ao
filtro de captura a string not (src host 143.106.73.136 and tcp src port
22) and not (dst host 143.106.73.136 and tcp dst port 22). Essa string
tem o objetivo de facilitar a visualização dos protocolos a serem
estudados através da exclusão dos pacotes SSH das capturas. Salve essa
string pois ela deverá ser usada em todos os exercícios com o wireshark.
Clique no botão 'Start' para que a captura de pacotes inicie.
Certifique-se de que as caixas das opções ``Update list of packets in
real time'' e ``Hide capture info dialog'' estejam desmarcadas.

Figura 2
- Durante a captura de pacotes, uma janela como a da Figura 3 é exibida.
Execute firefox --no-remote & em proto.lab.ic.unicamp.br (o navegador tem
que ser aberto na máquina proto! Não na estação que você está usando) e
acesse o site do IC. Após o site estar completamente carregado, interrompa
a captura de pacotes clicando no botão 'Stop' na janela do
wireshark.

Figura 3
- Uma vez interrompida a captura de pacotes, a janela do wireshark será
exibida com dados em vários campos. A Figura 4 identifica cada campo da
janela.

Figura 4
Na lista de pacotes capturados tem-se, para cada pacote, um identificador
(No.) o instante de tempo em que o mesmo foi capturado (Time) , o endereço
IP fonte (Source), o endereço IP destino (Destination) e informações
específicas do protocolo da camada de mais alto nível presente (Protocol e
Info).
Nos detalhes do cabeçalho do pacote têm-se informações sobre protocolos das
camadas de enlace, de rede, de transporte e de aplicação.
Uma vez tendo capturado os pacotes no wireshark, responda às seguintes
questões:
Obs.: o trace dos pacotes capturados deve ser mantido em um
diretório dentro do /tmp da máquina proto. Crie um diretório no
/tmp e salve seus traces neste diretório para evitar
sobrescrever arquivos dos demais usuários. A localização do trace
deve ser informada no relatório. Todas as questões dos próximos
laboratórios que tiverem um "*" precisam ter o trace mantido na
máquina proto. Os traces são salvos pelo menu "File" na opção
"Save". Respostas às questões com "*" que não tiverem a localização do trace
no relatório receberão zero.
[1,2] * 7.1-) No filtro de visualização, escreva a seguinte expressão:
ip.addr == www.ic.unicamp.bre clique no botão 'Apply'.