Prévia do material em texto
1 Laboratório de Aplicações de Redes de Computadores Romualdo Monteiro de Resende Costa romualdomrc@gmail.com Agenda n Introdução Wireshark n HTTP n DNS n ICMP n Transporte 2 Referências n Kurose; Ross. Computer Networking: A Top-down Appoach, 5 Edition 3 Sniffer n Ferramenta básica para análise de pacotes da rede ¨Wireshark ¨Ethereal ¨SniffPass ¨TCPDump ¨WhatsApp Sniffer ¨ ... WireShark 4 Ethereal SniffPass 5 WhatsApp Sniffer Emprego n Detectar problemas na rede n Depurar implementações de protocolos n Aprender sobre o funcionamento dos protocolos n Interceptar dados indevidos n Capturar informações n Descobrir senhas n ... 6 Sniffing Modos de Funcionamento n Promíscuo ¨Todos os pacotes da rede são capturados n Características ¨Precisa fazer parte da rede analisada ¨Pode ser bloqueado pelo sistema operacional ¨Eleva o consumo de recursos da máquina ¨A medida que o tráfego é direcionado, a eficiência deste modelo é prejudicada 7 Modos de Funcionamento n Monitor ¨Todos os pacotes são capturados, independente do host pertencer à rede n Características ¨Aplicado às redes sem fio ¨ Implementado como um dos modos no protocolo 802.11 (Master, Gerenciado, Ad-hoc, Monitor) ¨Utilizado para quebras de criptografia WEP Modo Promíscuo 8 Modo Monitor Arquitetura 9 Barra de Ferramentas 10 Barra de Filtragem Painel de Lista de Pacotes 11 Painel de Detalhes de Pacotes Painel de Bytes de Pacotes 12 Capturando n Para iniciar o programa é necessário permissão de administrador n Ir no menu “Capture -> Interfaces” n Selecionar o botão “start” da interface escolhida (eth0) Capturando 13 Capturando n A medida que os pacotes são capturados eles aparecem na lista de pacotes n Cada linha apresenta informações de 1 pacote n Diferentes cores, diferentes protocolos n Informações ¨Número, tempo, endereços (origem, destino) protocolo, dados ... Capturando n Pacotes ¨Destinados ao host ou originados dele ¨Pacotes que passam pelo enlace da rede onde o host está (promíscuo) ¨Pacotes em redes sem fio que podem ser percebidos pela interface (monitor) n É possível tentar “forçar” a passagem de pacotes pelo enlace do host sniffer 14 Terminar a Captura n Selecionar o botão “stop” da barra de ferramentas Filtrando n Filtro por protocolo ¨Colocar o nome do protocolo no campo do filtro n Aplicações/Protocolos ¨Web/HTTP ¨Endereços/ARP ¨Endereços/DNS ¨GTalk/JABBER ¨ .... 15 Filtrando n Filtros mais elaborados ¨Porta ¨Protocolo do Transporte ¨Origem ¨Destino ¨ .... 16 Analisando n Fase posterior à captura n Campos específicos podem ser observados n Uso de gráficos n Clique duplo em um pacote para visualizar informações 17 Analisando n Busca de pacotes ¨Menu “Edit -> Find Package” Básico do GET/HTTP (Kurose) n Inicie o navegador Web. n Inicie o sniffer de pacotes, Wireshark, mas não inicie a captura de pacotes. Digite “http” (somente as letras sem as aspas) na janela display-filter-specification, assim somente as mensagens HTTP serão mostradas pela ferramenta. n Espere um instante antes de iniciar a captura de pacotes. 18 Básico do GET/HTTP (Kurose) n Entre o endereço abaixo no navegador: http://gaia.cs.umass.edu/wireshark-labs/HTTP- wireshark-file1.html. O navegador deve mostrar uma página bem simples com uma linha. n Pare a captura de pacotes do Wireshark. Responda 1. O seu navegador está rodando a versão 1.0 ou 1.1 do HTTP? Que versão do HTTP está sendo rodada no servidor? 2. Que linguagem (se tiver) o seu navegador indica que ele pode aceitar do servidor? 3. Qual é o endereço IP do seu computador? E do servidor gaia.cs.umass.edu? 4. Qual é o código de estado retornado pelo servidor para o seu navegador? 19 Responda 5. Quando foi a última alteração feita no arquivo HTML? 6. Quantos bytes de conteúdo são retornados para o seu navegador? 7. Inspecionando o dado na janela de conteúdo do pacote, você viu algum cabeçalho com dados que não foram mostrados na janela de listagem do Wireshark? Se sim, qual? GET HTTP Condicional (Kurose) n Inicie o navegador e certifique-se de que o cache esteja limpo. n Inicie o Wireshark. n Entre com a URL no navegador http://gaia.cs.umass.edu/wireshark-labs/HTTP- wireshark-file2.html Seu navegador deve mostrar um arquivo bem simples HTML com cinco linhas. 20 GET HTTP Condicional (Kurose) n Rapidamente entre com a URL no navegador novamente (ou simplesmente selecione o botão para recarregar a página). n Pare o Wireshark e entre com “http” na janela em que se especifica filtros para que somente as mensagens HTTP possam ser mostradas na janela de listagem de pacotes. Responda 8. Inspecione o conteúdo da primeira requisição GET do HTTP de seu navegador para o servidor. Você viu uma linha com “IF- MODIFIED-SINCE” no GET do HTTP? 9. Inspecione o conteúdo da resposta do servidor. O servidor retornou o conteúdo do arquivo explicitamente? Como isso se observou? 21 Responda 10. Agora investigue o conteúdo da segunda requisição GET do HTTP de seu navegador para o servidor. Você viu uma linha com “IF- MODIFIED-SINCE” no GET do HTTP? Se sim, que informação segue o cabeçalho “IF- MODIFIED-SINCE:”? 11. Qual é o código de estado do HTTP e a frase retornada do servidor em resposta ao segundo GET do HTTP? O servidor explicitamente retornou o conteúdo do arquivo? Explique! Obtendo Documentos Longos n Inicie o seu navegador e execute a limpeza do cache, como discutido anteriormente. n Inicie o Wireshark. n Entre com a seguinte URL no navegador http://gaia.cs.umass.edu/wireshark-labs/HTTP- wireshark-file3.html Seu navegador deve mostrar o documento “US Bill of Rights”. 22 Obtendo Documentos Longos n Pare a captura de pacotes pelo Wireshark e entre com “http” na janela em que se especifica filtros para que somente as mensagens HTTP possam ser mostradas na janela de listagem de pacotes. Responda 12. Quantas mensagens de requisição GET de HTTP o seu navegador enviou? Qual número de pacote contém a mensagem de GET do “Bill or Rights”? 13. Qual número de pacote contém o código de estado e a frase associada com a resposta do pedido de GET de HTTP? 14. Qual é o código de estado e a frase de resposta? 23 Responda 15. Quantos segmentos TCP contendo dados são necessários para uma simples resposta HTTP para o texto? Documentos HTML com Objetos n Inicie o seu navegador e execute a limpeza do cache. Inicie o Wireshark. n Entre com a seguinte URL no navegador http://gaia.cs.umass.edu/wireshark-labs/HTTP- wireshark-file4.html Seu navegador deve mostrar um pequeno arquivo HTML com duas imagens. Essas imagens são referenciadas no arquivo HTML base. Isto é, as imagens propriamente não estão contidas no HTML. 24 Documentos HTML com Objetos n Pare a captura de pacotes pelo Wireshark e entre com “http” na janela em que se especifica filtros para que somente as mensagens HTTP possam ser mostradas na janela de listagem de pacotes. Responda 16. Quantas mensagens de requisição HTTP o seu navegador enviou? Para quais endereços da Internet foram enviados esses pedidos GET? 17. Você pode falar se o navegador baixou as duas imagens serialmente ou se elas foram baixadas dos dois sites paralelamente? Explique! 25 Autenticação HTTP n Inicie o seu navegador e execute a limpeza do cache, como discutido acima. n Inicie o Wireshark. n Entre com a seguinte URL no navegador http://gaia.cs.umass.edu/wireshark- labs/protected_pages/HTTP-wireshark-file5.htmlAutenticação HTTP n Digite o usuário e a senha nos campos apropriados. n O usuário é “wireshark-students” (sem as aspas) e a senha é “network” (novamente, sem as aspas) n Pare a captura de pacotes pelo Wireshark e entre com “http” na janela em que se especifica filtros para que somente as mensagens HTTP possam ser mostradas na janela de listagem de pacotes. 26 Responda 18. Qual é a resposta do servidor (código de estado e frase) na resposta ao GET de HTTP inicial do navegador? 19. Quando seu navegador envia mensagem GET de HTTP pela segunda vez, que novos campos são incluídos na mensagem GET de HTTP? Codificação n Usuário (wireshark-students) e senha (network) são codificados para ¨d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms= n Formato Base64 ¨Codificação de dados para transferência ¨Conversão de dados binários para string ¨Custo (3 bytes para 4 caracteres) ¨Não é criptografia 27 Base64 n Cria-se um vetor com os caracteres ¨De A até 9+/, passando por todas as letras maiúsculas, minúsculas e dígitos n Os bytes são agrupados em blocos de 3 ¨Depois divididos em conjuntos de 6 bits ¨Cada conjunto é codificado com um caracter do vetor, que vai de 0 a 63 ¨Se o bloco não tiver 3 bytes ele é complementado com um “=“ Base64 n Na decodificação os caracteres são transformados em bits e agrupados de 4 em 4 ¨A cada 24 bits divide-se por 3 e obtem-se os bytes originais n Calculadora ¨http://www.motobit.com/util/base64-decoder- encoder.asp 28 Criptografia n Pacotes são criptografados por questão de segurança ¨Proteção à interceptação ¨Dados são capturados mas não entendidos n Uso do HTTPS DNS n Associação de nós a seus respectivos endereços n Domain Name System ¨Base de Dados Distribuída ¨Protocolo de Camada de Aplicação 29 DNS n Distribuído ¨Evita um ponto de falha ¨Distribui o volume do tráfego ¨Base centralizada de dados distante ¨Favorece a manutenção Servidores de Nomes Raiz n Acionados pelos servidores locais incapazes de resolver um nome n Existem 13 servidores de nome raiz no mundo ¨Dezenas de cópias espalhadas pelo mundo 30 DNS Servidores n Autoritários x TLD (top-level domain) n TLD ¨Responsáveis pelos domínios nacionais e pelos domínios com, org, net etc. ¨Responsável por um ou mais domínios n Autoritários ¨Servidores DNS das organizações autorizadas ¨Podem ser oferecidos pelo provedor de serviços 31 Servidores n Locais ¨Não pertencem a hierarquia, nem precisam ser autorizados ¨ “Servidores de Nomes Default”, “Servidor de Nomes Local”, “Servidor Intermediário” etc. ¨Normalmente é quem recebe as perguntas ¨Age como um proxy, encaminhando solicitações e armazenando cache Consultas n Recursivas ¨Transfere a tarefa de resolução de nome para o servidor de nomes consultado n Encadeada ¨O servidor retorna o nome de outro servidor ¨ “Eu não, sei, mas talvez esse saiba” 32 Encadeada n Host ¨cis.poly.edu n Destino ¨gaia.cs.umass.edu Recursiva n Host ¨surf.eurecom.fr n Destino ¨gaia.cs.umass.edu 33 nslookup n Permite que o host execute uma consulta a qualquer servidor DNS ¨Raiz, TLD, Autoritário ou Local ¨Envia uma consulta ao servidor configurado e recebe uma resposta, que é apresentada n Formato ¨ nslookup –opção1 –opção2 host-a-encontrar servidor nslookup 34 nslookup n A resposta vem de um servidor local ¨Embora, em algum momento, ele tenha consultado ao menos um servidor Autoritário n Consultar o servidor Autoritário ¨nslookup –type=NS nslookup 35 nslookup n A consulta pode ser realizada a um servidor Autoritário, TLD ou raiz ¨nslookup www.ufjf.br ns.pop-mg.rnp.br nslookup 36 Tarefas DNS 1. Obtenha o endereço IP de um servidor Web na ASIA 2. Determine os servidores DNS autoritários para uma universidade na Europa 3. Utilize os servidores DNS da questão 2 e consulte pelo endereço IP do e-mail do yahoo (mail.yahoo.com).