MC833 - Programação em Redes de Computadores - 1s 2014

Exercício 1: Ferramentas

Professora Juliana Freitag Borin

Objetivo: aprender a usar ferramentas básicas que fornecem informações e estatísticas sobre a rede em um sistema Unix-like.

Critérios para entrega e correção do exercício:

1. este exercício é individual;

2. a resolução do exercício deve ser enviada em um arquivo .pdf para castudillo@lrc.ic.unicamp.br até às 9:59 do dia 06/03/2014. O nome do arquivo deve ser "exercicio1-raXXXXX", onde XXXXX deve ser substituído pelo número do seu RA;

3. o assunto da mensagem deve ser "MC833 - exercício 1";

4- a nota da atividade será 0 ou 1. 1, caso todas as questões estejam respondidas de forma satisfatória E a entrega atenda aos critérios 1, 2 e 3; 0, caso contrário.

Observações:

Obs.1: as ferramentas são programas que devem ser executados no shell.

Obs.2: a saída dos comandos deve ser incluída na resposta.

Obs.3: antes de acessar qualquer site pelo navegador certifique-se de limpar o cache do navegador.

Obs.4: inclua dentro da variável de ambiente PATH, os diretórios /usr/bin:/bin:/usr/sbin:/sbin. O comando abaixo pode ser utilizado para realizar essa inclusão:

   export PATH=/usr/bin:/bin:/usr/sbin:/sbin:${PATH}
   

Questões:

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:

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 da Universidade de Cambridge (www.cam.ac.uk)?
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 da Unicamp (www.unicamp.br)? Os tempos foram menores ou maiores do que os obtidos na questão anterior? Explique o motivo da diferença.
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.

2-) 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?

3-) Execute o comando ifconfig lo. Quantos pacotes foram recebidos e quantos foram enviados pela interface lo? Em seguida, envie dois pacotes através do comando ping para o endereço IP da interface lo. Após a execução do comando ping, a quantidade de pacotes recebidos e a quantidade de pacotes enviados foram acrescidas de quanto? A partir dos novos valores de pacotes recebidos e enviados qual a conclusão que você tira a respeito da interface lo?

route: fornece e configura dados a cerca da configuração do roteamento no computador.

4-) 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:

5.1-) Quais os endereços IP do host www.google.com? Há alguma vantagem em haver mais de um endereço IP? Qual é o servidor DNS configurado na sua estação?
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:

6.1-) Quantos roteadores estão entre a sua estação e o host www.google.com? Pelos nomes dos roteadores, quantos deles estão localizados no Brasil?
6.2-) Quantos roteadores estão entre a sua estação e o host www.cam.ac.uk? Quantos roteadores são comuns entre esta rota e a rota da questão anterior?
6.3-) 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/).
6.4-) Observando os valores de RTT na saída do comando da questão 6.2, os pacotes alcançam enlaces transatlânticos a partir de que hop? O que fez você chegar a essa conclusão?

netstat: fornece informações sobre as conexões ativas na estação.

7-) Através da execução do comando netstat -tu, responda às seguintes questões:

7.1-) Acesse o site da Unicamp e, em paralelo em um terminal, verifique a saída do comando netstat. Quais são as informações fornecidas a respeito da conexão ao site da Unicamp?
7.2-) Além da conexão estabelecida com o site da Unicamp, há mais alguma conexão TCP exibida pelo netstat? Caso haja, informe para cada uma os endereços e portas de origem e destino?
7.3-) Há algum padrão na definição das portas locais usadas por sua estação durante o acesso a servidores web? (Acesse 5 sites diferentes e verifique a saída do netstat)

telnet: conecta em um host de forma a permitir uma comunicação interativa. Através dele é possível enviar comandos para um servidor e obter as suas respostas, desde que o serviço acessado utilize o protocolo TCP. Por padrão, ele envia e recebe pacotes com mensagens do protocolo da camada de aplicação TELNET.

8-) Através da execução do comando telnet, seguido dos parâmetros adequados, responda às seguintes questões:

8.1-) É possível conectar-se com este comando em um servidor HTTP? Como deve-se executar o comando para conectar no host www.google.com na porta padrão do HTTP?
8.2-) Caso não haja um servidor escutando na porta passada pelo comando telnet, o que ocorre? Por exemplo, é possível conectar-se ao host localhost na porta 80? O que falta no host localhost para que ele passe a aceitar conexões na porta 80?