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 Ferramentas de diagnóstico de redes 3
Objetivo de Redes de Computadores Software Aplicativo Recursos de Rede do Sistema Operacional Interface de Rede Software Aplicativo Recursos de Rede do Sistema Operacional Interface de Rede Host A Host B Meio Físico de Transmissão Ferramentas de diagnóstico de redes 4 Ferramentas de diagnóstico de redes 4 Ferramentas de diagnóstico de redes 4
Aplicações Primeiras aplicações: execução remota (telnet) 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) 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 Problemas mais comuns 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 de diagnóstico de redes 8
Ferramentas Básicas PING TRACERT ARP IPCONFIG IFCONFIG NETSTAT TELNET 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 (http://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/jperf-2.0.0.zip/download) 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/visual-tracert/ http://en.dnstools.ch/visual-traceroute.html Ferramentas de diagnóstico de redes 11
Ping Ferramentas básicas Ferramentas básicas Dica: no Windows, usar o parâmetro –t para deixar o teste contínuo. Para testar o acesso a redes remotas, o primeiro host a ser testado dever ser o gateway! Ping Utilizada para verificar se um host está ativo em rede Mostra a latência e as perdas de pacotes entre os hosts testados 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
Tracert Ferramentas básicas Ferramentas básicas Dica: ao retornar um asterisco, o problema pode estar em algum bloqueio no firewall do roteador, perdas de pacotes ou loop de roteamento. É possível mapear, de acordo com os roteadores do caminho, em quais localizações geográficas o pacote passou para chegar no destino. Tracert Utilizada para traçar a rota entre dois hosts Mostra quantos saltos (hops) existem no caminho entre o host origem e o host destino e os atrasos em cada um Necessária para diagnóstico de problemas em roteamento No Linux, o nome do comando é traceroute Ferramentas de diagnóstico de redes 13
ARP Ferramentas básicas Ferramentas básicas Dica: se o MAC do host não aparecer na tabela ARP, ou não está ativo ou está em outra rede diferente do host local. ARP ARP(Address Resolution Protocol) Protocolo responsável por encontrar o endereço MAC correspondente ao endereços IP 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
Ipconfig Ferramentas básicas Ferramentas básicas Dica: para trocar o endereço IP, o procedimento recomendado é fazer um release e depois um renew. Entretanto, dependendo da configuração do servidor e a situação dos empréstimos, o endereço a ser recebido pode ser o mesmo anterior. Ipconfig Utilizada mostrar informações sobre o endereçamento de interfaces, manipular o cliente de DHCP, limpar cache de DNS no Windows Exemplos de uso: ipconfig /all - Mostra todas as informações das interfaces ipconfig /release - Libera o empréstimo de endereço para o servidor de DHCP 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
Ifconfig Ferramentas básicas Ferramentas básicas Dica: no Linux para renovar o endereço IP, o utilitário é o dhclient. Ifconfig Utilizada para gerenciar as interfaces de 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
Netstat Ferramentas básicas Ferramentas básicas Dica: para deixar o netstat monitorando continuamente as informações, pode-se usar o parâmetro –t 2 (a cada dois segundos) no Windows e no Linux o parâmetro -c Netstat Utilizada para mostrar as conexões de rede, tabelas de roteamento e estatísticas do tráfego e protocolos Existem algumas diferenças entre as ferramentas no Windows e no Linux. 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
Telnet Ferramentas básicas Ferramentas básicas Dica: para testar e-mail com SMTP, POP3, IMAP, FTP, HTTP pode-se usar as mensagens dos protocolos e usar tal como um cliente nativo. Telnet Protocolo com funcionalidades de acesso remoto emulando terminais Não é recomendável o uso para acesso remoto a servidores devido a 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 telnet pop.uol.com.br 110 Ferramentas de diagnóstico de redes 18
Mtr Ferramentas básicas Ferramentas básicas Dica: para ativar a medição do jitter no Mtr do Linux, editar o campos na opção “Order of fields” e adicionar os campos a respeito de jitter Mtr Utilizada medir a latência e as perdas de pacotes no caminho entre dois hosts 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
TTCP Ferramentas básicas Ferramentas básicas Dica: deve-se ter cuidado para não congestionar a rede ao realizar testes em horários onde usuários usem serviços na rede. TTCP Utilizada medir a largura de banda entre dois hosts (similar a ferramenta Iperf) 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
Nslookup Ferramentas básicas Ferramentas básicas Dica: o uso de servidor cache de DNS local melhora o desempenho da resolução de nomes. Utilizar o DNS do Google também devido ao cache! Nslookup Utilizada para verificar o funcionamento do serviço de DNS Testes de registros A (Address), CNAME (Canonical), MX (Mail Exchange), NS (Name Server) Exemplos: Ferramentas de diagnóstico de redes 21
Tcpview Ferramentas básicas Ferramentas básicas Dica: marcar a opção “Always on Top” para poder ver as conexões das aplicações Tcpview Utilizada para monitorar as conexões TCP 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
Dig Ferramentas básicas Ferramentas básicas Dica: a ferramenta Dig não está disponível por padrão no Windows. Uma versão para Windows está disponível neste endereço http://members.shaw.ca/nicholas.fong/dig/dig-files3.zip Dig Utilizada para verificar o funcionamento do serviço de DNS Similar ao nslookup, com algumas funções avançadas Exemplo: 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
Iperf/Jperf Ferramentas básicas Ferramentas básicas Dica: o tráfego efetivo (vazão) máxima em uma rede ethernet a 100Mbit/s é cerca de 94Mbit/s. Iperf/Jperf Utilizada para gerar tráfego na rede Linha de comando: iperf 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 Jperf Servidor Cliente Ferramentas de diagnóstico de redes 24
Netmeter Ferramentas básicas Ferramentas básicas Dica: trocar a unidade de medição da ferramenta para bit/s Netmeter Utilizada para medir o tráfego gerado em 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
Objetivos Análise de Tráfego 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
Camada de atuação de um analisador de protocolos/tráfego Análise de Tráfego Camada de atuação de um analisador de protocolos/tráfego Ferramentas de diagnóstico de redes 27
Ferramentas de análise de tráfego TCPDUMP Ngrep Snort Ethereal Wireshark Ferramentas de diagnóstico de redes 28
Ferramentas: TCPDUMP Análise de Tráfego 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
Ferramentas: Snort Análise de Tráfego 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
Ferramenta: Ethereal Ethereal (http://www.ethereal.com/) 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
Ferramenta: Wireshark 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
Processo de instalação no Windows: 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 Site do Wireshark: http://www.wireshark.org Sites Site do Wireshark: http://www.wireshark.org Wireshark User’s Guide: http://www.wireshark.org/docs/wsug_html_chunked/ Wireshark Wiki: http://wiki.wireshark.org/ MulticastStorm: http://multicaststorm.blogspot.com/ Ferramentas de diagnóstico de redes 43