Teleprocessamento e Redes Aula 23: (laboratório) 13 de julho de 2010
1 2 3 ICMP HTTP DNS TCP 4
nslookup Sumário Permite fazer requisições a um servidor DNS O nslookup envia uma requisição para o servidor, aguarda e exibe a resposta nslookup www.ufrj.br Server: 201.17.0.114 Address: 201.17.0.114#53 Non-authoritative answer: www.ufrj.br canonical name = imagem.ufrj.br. Name: imagem.ufrj.br Address: 146.164.2.32
nslookup Sumário nslookup option1 option2 host-to-find dns-server nslookup -type=ns ufrj.br Server: 201.17.0.114 Address: 201.17.0.114#53 Non-authoritative answer: ufrj.br nameserver = ns.ufrj.br. ufrj.br nameserver = ns.nce.ufrj.br. Authoritative answers can be found from: ns.nce.ufrj.br internet address = 146.164.8.3 ns.ufrj.br internet address = 146.164.10.2
nslookup Sumário nslookup option1 option2 host-to-find dns-server nslookup www.ufrj.br ns.ufrj.br Server: ns.ufrj.br Address: 146.164.10.2#53 www.ufrj.br canonical name = imagem.ufrj.br. Name: imagem.ufrj.br Address: 146.164.2.32
Atividade: usando o programa nslookup Execute o nslookup para encontrar o servidor autoritativo do domínio google.com Execute o nslookup para encontrar o IP do servidor www.google.com (use o servidor DNS local e o um servidor DNS autoritativo)
ifconfig e ipconfig ipconfig e ifconfig (ou /sbin/ifconfig) são ferramentas que permitem obter informações de endereços da pilha TCP/IP na máquina local Atividade: use uma dessas ferramentas para descobrir o endereço MAC e o endereço IP da sua máquina
ping Sumário Permite checar se um host está ativo ou não O programa do host fonte envia um pacote ICMP para o IP alvo Se o host alvo estiver ativo, ele responde com um pacote ICMP Atividade: use o programa ping para checar o host www.ust.hk
traceroute Programa que permite ver o caminho percorrido por um pacote até o host alvo O emissor envia uma série de pacotes UDP para o destino com valores de TTL distintos Atividade: use o programa traceroute para alcançar o host www.inria.fr
Wireshark é um analisador de pacotes de rede (sniffer) de código aberto:...ele tenta capturar pacotes da rede e mostra os dados contidos nesses pacotes Uso do Wireshark Encontrar problemas na rede (administrador de rede) Depurar a implementação de protocolos (desenvolvedor de protocolos/aplicações de rede) Compreender como funcionam os protocolos de rede
Características do Wireshark Disponível para plataformas Unix, Windows e Mac Captura pacotes via uma interface de rede A biblioteca de captura (libpcap/winpcap) e os mecanismos de captura usados não oferecem suporte a todos os tipos de redes Requer privilégios de ROOT/Admin para fazer as capturas
Exemplos de filtros 1 host 172.18.5.4 (captura tráfego de/para o IP informado) 2 net 192.168.0.0/24 (captura tráfego de/para um conjunto de IPs) 3 src net 192.168.0.0/24 (captura tráfego de um conjunto de IPs) 4 port 53 (captura tráfego apenas para a porta 53) 5 port not 53 and not arp (captura tudo, exceto DNS e ARP)
Exemplo de uso 1 Capturar pacotes durante acesso à página www.ufrj.br 2 Listar os protocolos usados 3 Filtrar os pacotes HTTP 4 Quais são os endereços IP das máquinas cliente e servidor? 5 Quanto tempo levou entre o envio da primeira requisição HTTP e o recebimento da resposta?
Observando pacotes o ICMP ICMP HTTP DNS TCP ping e ICMP Abrir no Wireshark o arquivo lab-icmp.cap (captura feita durante a execução de ping -c 1 www.ust.hk), no painel inferior abrir o box Internet Control Message Protocol (ICMP) e reponder às seguintes questões: 1 Qual é o tipo e código do pacote de requisição ICMP? E do pacote de resposta ICMP? 2 Por que o pacote ICMP não tem porta fonte e destino (como UDP e TCP)? 3 Qual é o tamanho do campo de checksum? 4 Abra o box Internet Protocol, qual é o protocolo carregado no campo de payload do datagrama? Como você obteve essa informação?
Observando pacotes o ICMP ICMP HTTP DNS TCP traceroute e ICMP Abrir no Wireshark o arquivo lab-icmp-1.cap (captura feita durante a execução de traceroute www.inria.fr), no painel inferior abrir o box Internet Control Message Protocol (ICMP) e reponder às seguintes questões: 1 Qual é o IP do host fonte e do host destino do programa traceroute? 2 Quantos probes foram enviados pelo emissor? Qual foi o valor do campo TTL nesses pacotes de probe? 3 Qual é o tipo e código das respostas ICMP?
ICMP HTTP DNS TCP Observando pacotes do protocolo HTTP HTML básico Abrir no Wireshark o arquivo lab-http.cap, no painel inferior abrir apenas o box Hypertext Transfer Protocol (HTTP) e reponder às seguintes questões: 1 Qual versão do protocolo HTTP o browser está usando? E o servidor? 2 Quais cabeçalhos foram incluídos na primeira mensagem? 3 Qual é o IP do servidor? E quais foram os códigos das suas respostas? 4 Qual foi o conteúdo enviado na primeira resposta do servidor? E na segunda? 5 Quantos bytes foram enviados na primeira resposta do servidor? E qual foi a data de modificação do arquivo?
ICMP HTTP DNS TCP Observando pacotes do protocolo HTTP Get condicional Abrir no Wireshark o arquivo lab-http-1.cap, no painel inferior abrir apenas o box Hypertext Transfer Protocol (HTTP) e reponder às seguintes questões: 1 Inspecione o conteúdo da primeira requisição do browser, a linha IF MODIFIED SINCE aparece? Se sim, qual é o seu conteúdo? 2 Inspecione a resposta do servidor, ele retorna o conteúdo do arquivo solicitado? Qual é o conteúdo? 3 Refaça a questão (1) para a segunda requisição do browser. 4 Qual é o código e a frase da resposta do servidor para a segunda requisição? O servidor retornou o conteúdo do arquivo? Se não, por que?
ICMP HTTP DNS TCP Observando pacotes do protocolo HTTP HTML com objetos embutidos Abrir no Wireshark o arquivo lab-http-2.cap, no painel inferior abrir apenas o box Hypertext Transfer Protocol (HTTP) e reponder às seguintes questões: 1 Quantas requisições HTTP GET foram feitas pelo browser e para quais endereços destino? 2 Você pode dizer se o browser fez o download das duas imagens em paralelo? Explique.
ICMP HTTP DNS TCP Observando pacotes do protocolo DNS Abrir no Wireshark o arquivo lab-dns.cap, no painel inferior abrir apenas o box Domain Name System (DNS) e reponder às seguintes questões: Qual é a porta destino das requisições e a porta fonte das respostas? O DNS usa TCP ou UDP? Para qual servidor DNS a requisição foi enviada? Qual foi a requisição DNS feita?
ICMP HTTP DNS TCP Observando pacotes do protocolo DNS Abrir no Wireshark o arquivo lab-dns-1.cap, no painel inferior abrir apenas o box Domain Name System (DNS) e reponder às seguintes questões: A captura foi realizada durante o acesso à página da UFRJ, por que será que aparecem tantas requisições DNS? Observe a segunda requisição, de que tipo ela é? Ela contém answers? Observe a segunda resposta, quantas answers ela contém? O que cada uma delas carrega?
ICMP HTTP DNS TCP Observando pacotes do protocolo TCP Abrir no Wireshark o arquivo lab-tcp.cap (esse arquivo foi obtido durante o upload de um arquivo texto de um cliente para um servidor Web), no painel inferior abrir o box Transmission Control Protocol (TCP) e reponder às seguintes questões: 1 Qual é o IP do cliente e do servidor? 2 Qual é o número de sequência do segmento TCP SYN usado para iniciar a conexão TCP? 3 Qual é o número de sequência e o número de ACK do pacote SYN ACK? Como se identifica um pacote SYN ACK?
ICMP HTTP DNS TCP Observando pacotes do protocolo TCP..continuação da atividade anterior 1 Qual é o número de sequência do primeiro segmento TCP que contém o comando HTTP POST? (note que para encontar o comando POST é preciso olhar o campo de conteúdo do pacote) 2 Quais são os números de sequência dos 5 primeiros segmentos de dados TCP? Os ACKs desses segmentos foram recebidos quando? 3 Dado o tempo de envio dos segmentos e de recebimento dos ACKs, qual foi o RTT de cada segmento?
ICMP HTTP DNS TCP Observando pacotes do protocolo TCP..continuação da atividade anterior 1 Qual foi o tamanho dos 5 primeiros segmentos de dados TCP? 2 Houve algum segmento retransmitido? 3 Houve o caso de um ACK confirmar vários segmentos? 4 Feche o arquivo de captura atual e abra o arquivo lab-tcp-1.cap (esse arquivo armazena outra captura de pacotes para a mesma interação cliente/servidor), refaça as duas questões anteriores observando essa captura.
1 J. Kurose and K. Ross, Computer Networking: A Top-Down Approach, 2009. 2 www.wireshark.org 3 wiki.wireshark.org 4 www.awl.com/kurose-ross