Ferramentas de diagnóstico de redes Prof. Eduardo Maroñas Monks Sumário Objetivos de Redes de Computadores Características de redes Problemas comuns em redes Ferramentas básicas Análise de tráfego Wireshark Referências Ferramentas de diagnóstico de redes 2 Objetivo de Redes de Computadores Objetivo principal de redes: “Fazer com que as aplicações troquem dados remotamente de forma confiável e rápida”. Necessidade de padronização de protocolos e padrões no sistemas operacionais e em dispositivos para que isto aconteça Exemplo RFC (Request for Comments) http://www.ietf.org/rfc.html Ferramentas de diagnóstico de redes 3 Objetivo de Redes de Computadores Host B Software Aplicativo Software Aplicativo Recursos de Rede do Sistema Operacional Recursos de Rede do Sistema Operacional Interface de Rede Interface de Rede Host A Meio Físico de Transmissão Ferramentas de diagnóstico de redes 4 Aplicações Principal objetivo das redes de computadores Primeiras aplicações: execução remota (telnet) transferência de arquivos e-mail Atualmente WWW (World Wide Web) e P2P (Peer to Peer) são as aplicações mais utilizadas na Internet Nas empresas, transferência de arquivos, compartilhamento de impressoras, e-mail e WWW são as aplicações mais utilizadas Ferramentas de diagnóstico de redes 5 Características de Redes Definem o desempenho de uma rede, são elas: Largura de Banda Medida em bit/s Quanto mais, melhor (limite financeiro e tecnológico) Latência (atraso) Medido em ms (1/1000 segundos) Inserção de atrasos em todo o caminho do pacote Jitter (variação do atraso) Medido em ms (1/1000 segundos) Variação do atraso Normalmente, devido ao congestionamento e tempo nas filas dos roteadores Perdas de pacotes Medido em % do total de pacotes Perdas podem ser causadas por congestionamento, meios físicos defeituosos, dispositivos com problemas, interferências Ferramentas de diagnóstico de redes 6 Problemas mais comuns Fator humano Usuários despreparados/maliciosos Administradores despreparados Desenvolvedores despreparados Redes e sistemas heterogêneos (complexidade) Desrespeito a política de segurança da instituição Infraestrutura de TI Ameaças externas Vírus/SPAM P2P Crackers... Ferramentas de diagnóstico de redes 7 Problemas mais comuns Ativação de equipamentos na rede utilizando servidores de DHCP Access points, principalmente Vírus Anti-vírus sem atualização Windows desatualizado Softwares de P2P BitTorrent é campeão! Falta de restrições de acesso a serviços e sites Falta de energia Servidores mal dimensionados Largura de banda insuficiente (quando será suficiente?) Sistemas e aplicações com problemas!!! Ferramentas de diagnóstico de redes 8 Ferramentas Básicas PING Verificar atraso, perdas e conectividade de hosts (Win/Linux). TRACERT Gerar uma rota (hops) entre o host de origem e o host de destino (Win/Linux (traceroute)). ARP Verificar e gerenciar a tabela arp no host (Win/Linux). IPCONFIG Verificar as configurações de endereçamento do host (Win). IFCONFIG Verificar as configurações de endereçamento do host (Linux). NETSTAT Verificar as conexões e as tabelas de roteamento (Win/Linux). TELNET Verificar as portas de comunicação dos serviços (Windows/Linux). Ferramentas de diagnóstico de redes 9 Ferramentas Básicas MTR (http://winmtr.net/download-winmtr/) Verificar de forma contínua as perdas, atrasos e jitter entre dos hosts (misto de ping com traceroute) (Linux/Win). TTCP (http://www.pcausa.com/Utilities/pcattcp.htm) Gerar tráfego entre dois hosts (Win/Linux). NSLOOKUP Verificar os registros de DNS (Win/Linux). TCPVIEW (http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx) Visualizar de conexões no host, similar ao netstat (Win). DIG (http://members.shaw.ca/nicholas.fong/dig/dig-files3.zip) Verificar registros de DNS. Similar ao nslookup (Win/Linux). IPERF/JPERF 2.0.0.zip/download) (http://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/jperf- Gerar tráfego para testes de redes. (Win/Linux) NETMETER (http://superdownloads.uol.com.br/download/132/netmeter/) Monitorar o uso de largura de banda (Win). Ferramentas de diagnóstico de redes 10 Ferramentas Básicas - Online Alguns sites que possuem ferramentas de diagnóstico de redes: http://network-tools.com/ http://www.dnsstuff.com/ http://www.traceroute.org/ http://visualroute.visualware.com/ http://www.mxtoolbox.com/ http://ping.eu/ http://www.yougetsignal.com/tools/visualtracert/ http://en.dnstools.ch/visual-traceroute.html Ferramentas de diagnóstico de redes 11 Ferramentas básicas Ping Dica: no Windows, usar o parâmetro –t para deixar o teste contínuo. Utilizada para verificar se um host está Para testar o acesso ativo em rede a redes remotas, o Mostra a latência e as perdas de pacotes primeiro host a ser testado dever ser o entre os hosts testados gateway! Trabalha na camada de rede. Portanto, não tem como testar se as aplicações estão ativas no host remoto Não mostra com precisão a largura de banda Ferramenta mais básica para diagnóstico de redes Ferramentas de diagnóstico de redes 12 Ferramentas básicas Dica: ao retornar um asterisco, o problema pode estar em algum bloqueio firewall Utilizada para traçar a rota entreno dois do roteador, perdas de hosts pacotes ou loop de roteamento. Mostra quantos saltos (hops) existem no Tracert caminho entre o host origem e o host É possível mapear, de acordo destino e os atrasos em cada umcom os roteadores do caminho, Necessária para diagnóstico de localizações em quais problemas em roteamento geográficas o pacote passou para chegar no No Linux, o nome do comando é destino. traceroute Ferramentas de diagnóstico de redes 13 Ferramentas básicas Dica: se o MAC do host não aparecer na tabela ARP, ou ARP(Address Resolution Protocol ) não está ativo ou Protocolo responsávelestá poremencontrar outra rede o endereço MAC correspondente ao diferente do host local. endereços IP ARP Utiliza transmissões em broadcast Necessário na comunicação de hosts locais (diretamente conectados) e entre hosts em diferentes redes (gateway) Monta uma tabela no host para fazer cache Ferramentas de diagnóstico de redes 14 Ferramentas básicas Ipconfig Dica: para trocar o endereço IP, o Utilizada mostrar informações sobre o procedimento endereçamento de interfaces, manipularé ofazer recomendado cliente de DHCP, limpar cache DNS no umde release e depois um renew. Windows Entretanto, Exemplos de uso: dependendo da configuração do ipconfig /all - Mostra todas as servidor e a informações das interfaces situação dos empréstimos, o ipconfig /release - Liberaendereço o empréstimo de a ser endereço para o servidorrecebido de DHCP pode ser o mesmo anterior. ipconfig /renew - Solicita renovação de endereço para o servidor de DHCP ipconfig /renew - Limpa o cache de DNS Ferramentas de diagnóstico de redes 15 Ferramentas básicas Dica: no Linux para renovar o endereço IP, o utilitário é Utilizada para gerenciar as ointerfaces dhclient. de Ifconfig rede no Linux Mostra estatísticas de tráfego e erros nas interfaces Exemplos de uso: ifconfig eth0 192.168.24.100/24 – configura a interface eth0 com o IP 192.168.24.100 e máscara 255.255.255.0 ifconfig eth0 down – desativa a interface eth0 ifconfig eth0:1 192.168.24.101/24 – cria uma interface virtual sobre a interface física eth0, com o IP 192.168.24.101 e máscara de rede 255.255.255.0 Ferramentas de diagnóstico de redes 16 Ferramentas básicas Netstat Dica: para deixar o netstat monitorando continuamente as Utilizada para mostrar as conexões de rede, informações, podetabelas de roteamento e estatísticas do se usar o parâmetro tráfego e protocolos –t 2 (a cada dois segundos) no Existem algumas diferenças entre as Windows e no Linux ferramentas no Windows e no o Linux. parâmetro -c Entretanto, as funcionalidades básicas existem nas duas Exemplos de uso: netstat –an – verifica todas as conexões ativas e disponíveis no host netstat –rn – mostra a tabela de roteamento netstat –s – mostra estatísticas dos protocolos Ferramentas de diagnóstico de redes 17 Ferramentas básicas Dica: para testar e-mail com SMTP, POP3, IMAP, FTP, HTTP pode-se de usar Protocolo com funcionalidades as mensagens dos acesso remoto emulando terminais e usar Não é recomendável oprotocolos uso para tal como um cliente acesso remoto a servidores nativo. devido a Telnet não usar criptografia na comunicação O cliente pode ser usado para testar o acesso a portas de serviços Disponível no Linux e no Windows XP (Vista e 7 não tem mais) Alternativa: Putty (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe) Exemplos: telnet mail.hotmail.com 25 telnet www.google.com 80 Ferramentas de diagnóstico de redes 18 Ferramentas básicas Dica: para ativar a medição do jitter no Mtr do Linux, editar o campos na opção Utilizada medir a latência e“Order as perdas de of fields” e adicionar pacotes no caminho entre dois hosts os campos a respeito de jitter Mtr Possibilita a visualização em tempo real dos links congestionados na rede Mostra o Jitter entre os dois hosts Disponível para Linux (por meio de pacotes) e Windows Ferramentas de diagnóstico de redes 19 Ferramentas básicas Dica: deve-se ter cuidado para não congestionar a rede ao realizar testes Utilizada medir a largura deembanda entre horários onde usuários dois hosts (similar a ferramenta Iperf)usem serviços na rede. TTCP Possibilita que os testes possam ser realizados com os protocolos da camada de transporte TCP e UDP Um lado como servidor (receiver) e o outro como cliente (transmitter) Disponível para Linux (por meio de pacotes) e Windows Ferramentas de diagnóstico de redes 20 Ferramentas básicas Dica: o uso de servidor cache de DNS local melhora o desempenho da Utilizada para verificar o funcionamento resolução de nomes. Utilizar o DNS do do serviço de DNS Google também devido Testes de registros A (Address), CNAME ao cache! Nslookup (Canonical), MX (Mail Exchange), NS (Name Server) Exemplos: Ferramentas de diagnóstico de redes 21 Ferramentas básicas Dica: marcar a opção “Always on Top” para poder ver conexões TCP das Utilizada para monitorar asas conexões aplicações Tcpview e UDP em hosts Windows Mostra os processos com as portas de comunicação e conexões Mostra os bytes enviado e recebidos das conexões Ferramentas de diagnóstico de redes 22 Ferramentas básicas Dica: a ferramenta Dig não está disponível por Utilizada para verificar o funcionamento padrão no Windows. Uma versão para do serviço de DNS Windows está Similar ao nslookup, com algumas disponível neste endereço funções avançadas Dig http://members.shaw.ca/nicholas. Exemplo: fong/dig/dig-files3.zip dig www.ifsul.edu.br dig @8.8.8.8 www.ifsul.edu.br dig +trace www.ifsul.edu.br Ferramentas de diagnóstico de redes 23 Ferramentas básicas Dica: o tráfego efetivo (vazão) máxima em uma rede Utilizada para gerar tráfegoethernet na redea 100Mbit/s é cerca Linha de comando: iperf de 94Mbit/s. Iperf/Jperf Interface gráfica em Java: jperf Funciona com cliente/servidor Cliente envia dados para o servidor (upload) Servidor recebe os dados do cliente ou múltiplos clientes (download) Interessante para testar links de redes wireless, firewall, roteadores e meios físicos Ferramentas de diagnóstico de redes 24 Ferramentas básicas Dica: trocar a unidade de medição da ferramenta para bit/s Utilizada para medir o tráfego gerado em Netmeter um host Windows Interessante para medir o tráfego de aplicações usadas em estações de trabalho Armazena totais e gera relatórios diários, semanais e mensais de tráfego Ferramentas de diagnóstico de redes 25 Análise de Tráfego Objetivos Verificar problemas na rede Depurar protocolos Análise de desempenho Aprendizagem sobre protocolos e o funcionamento das aplicações em rede Ferramentas de diagnóstico de redes 26 Análise de Tráfego Camada de atuação de um analisador de protocolos/tráfego Ferramentas de diagnóstico de redes 27 Análise de Tráfego Ferramentas de análise de tráfego TCPDUMP Ngrep Snort Ethereal Wireshark Ferramentas de diagnóstico de redes 28 Análise de Tráfego Ferramentas: TCPDUMP Tcpdump (http://www.tcpdump.org/) Analisador de tráfego padrão no sistema operacional UNIX/Linux Código-fonte aberto Linha de comando Utiliza a bibilioteca libpcap Por padrão, somente o usuário root tem acesso Ferramentas de diagnóstico de redes 29 Análise de Tráfego Ferramentas: Snort Snort (http://www.snort.org) Detector de intrusão com recursos poderosos Procura por padrões nos pacotes detectando anomalias e as prevenindo Disponível para Linux e Windows Código-fonte aberto Ferramentas de diagnóstico de redes 30 Análise de Tráfego Ferramenta: Ethereal Ethereal (http://www.ethereal.com/) Analisador de tráfego em linha de comando e em interface gráfica Disponível para Windows/Linux Código-fonte aberto Utiliza a biblioteca winpcap Por motivos judiciais, o projeto parou e o autor passou a desenvolver o projeto Wireshark Ferramentas de diagnóstico de redes 31 Análise de Tráfego Ferramenta: Wireshark Wireshark (www.wireshark.org/) Analisador de tráfego em linha de comando e em interface gráfica Disponível para Windows/Linux Código-fonte aberto Utiliza a biblioteca winpcap Uma ferramenta extremamente poderosa para análise de rede Ferramentas de diagnóstico de redes 32 Análise de Tráfego Usando o Wireshark Processo de instalação no Windows: Fazer o download de: http://www.wireshark.org/download.html O processo de instalação insere a biblioteca Winpcap no sistema operacional MS Windows; Procedimento “NEXT” de instalação Processo de instalação no Linux: Nas distribuições Linux, verificar os pacotes com o nome “wireshark” Exemplo: apt-get install wireshark yum install wireshark Ferramentas de diagnóstico de redes 33 Análise de Tráfego Usando o Wireshark Executando a ferramenta e escolhendo a interface de rede: Ferramentas de diagnóstico de redes 34 Análise de Tráfego Usando o Wireshark Executando a ferramenta e escolhendo a interface de rede: Ferramentas de diagnóstico de redes 35 Análise de Tráfego Usando o Wireshark Capturando pacotes: Ferramentas de diagnóstico de redes 36 Análise de Tráfego Usando o Wireshark Analisando sessões: Ferramentas de diagnóstico de redes 37 Análise de Tráfego Usando o Wireshark Analisando sessões: Ferramentas de diagnóstico de redes 38 Análise de Tráfego Usando o Wireshark Filtros de pacotes: Exemplos de filtros do Wireshark: tcp.port==80 ip.addr==192.168.200.15 broadcast eth.addr==00:0C:BA:5D:67:09 Exemplos de filtros de captura do Wireshark (padrão tcpdump): tcp port 80 host 192.168.200.15 broadcast ether host 00:0C:BA:5D:67:09 Ferramentas de diagnóstico de redes 39 Análise de Tráfego Usando o Wireshark Estatísticas do tráfego de rede capturado Ferramentas de diagnóstico de redes 40 Conclusão As ferramentas são essenciais para a administração de redes de computadores Dominar o uso delas é importante para todos os profissionais que façam uso de redes de computadores A interpretação dos resultados obtidos pelas ferramentas não é trivial e demanda conhecimento e prática Ferramentas de diagnóstico de redes 41 Referências Livros PETERSON, L; DAVIE, B. Redes de Computadores – Uma Abordagem de Sistemas. 3ª Ed. Campus, 2004. KUROSE, J; ROSS, K. Redes de Computadores e a Internet – Uma Abordagem top-down. 3ª Ed. Pearson, 2006. TANENBAUM, A. Redes de Computadores. 4ª Ed. Campus, 2003. CISCO, Curso Oficial CCNA – Módulo 1 SANDERS, Chris. Practical Packet Analysis Using Wireshark to Solve Real-World Network Problems. No Starch Press, 2007. Ferramentas de diagnóstico de redes 42 Referências Sites Site do Wireshark: http://www.wireshark.org Wireshark User’s Guide: http://www.wireshark.org/docs/wsug_html_chu nked/ Wireshark Wiki: http://wiki.wireshark.org/ MulticastStorm: http://multicaststorm.blogspot.com/ Ferramentas de diagnóstico de redes 43