Network Top: Uma Ferramenta Automatizada para Análise e Gerenciamento de Redes Adriano K. Maron, Anderson B. Pinheiro 1 Universidade Católica de Pelotas (UCPEL) Caixa Postal 96010-000 Pelotas RS Brazil {maron,andersonbp}@ucpel.tche.br Resumo. Este trabalho tem por objetivo descrever algumas das funções ofercidas pelo analisador de redes NTOP, considerando a definição do trabalho semestral da disciplina de Redes de Computadores II. No documento estão contidas informações referentes às primeiras funções oferecidas pelo NTOP, sendo feita uma descrição de todas elas e exibidas imagens para exemplificar as informações relatadas pelos módulos. Como continuidade do trabalho está previsto a inclusão dos demais módulos que compõem a ferramenta, bem como suas descrições e exemplificações e a conclusão geral sobre o desenvolvimento do trabalho. 1. Introdução O gerenciamento de redes tem se tornado uma tarefa muito complexa, uma vez que as redes frequentemente tem as suas topologias alteradas e suas capacidades de transmissão de dados são cada vez maiores. As ferramentas de gerencia de rede aparecem nesse cenário com o objetivo de auxiliar os profissionais da área a avaliar o funcionamento das redes através da obtenção de dados específicos que estão trafegando através das conexões. A ferramenta de gerencia de redes descrita nesse trabalho é denominada Network TOP (Ntop). Ntop foi concebida com a filosofia de software livre, não havendo, assim, custos de aquisição, podendo ser utilizada em sistemas operacionais Unix e Windows. A versão completa da ferramenta para a plataforma Unix pode ser baixada e instalada sem maiores problemas, enquanto que para o sistema operacional Windows, existe um instalador apenas para a versão demo, limitada em analisar apenas 1.000 pacotes por sessão. Para instalação de uma versão full em Windows, uma das opções é registrar uma versão oficial completa do software, recebendo posteriormente um e-mail com um link de download. A segunda opção é baixar o código fonte da ferramenta e compilá-la manualmente. Esse software foi desenvolvido por Luca Deri e Stefano Suin com o objetivo inicial de identificar rapidamente os hosts de usuários que consumiam grande parte da banda de rede disponível (network top users, origem do nome da ferramenta). O software evoluiu muito a partir de seu conceito inicial, atualmente possuindo opções de medida de tráfego, monitoramento de tráfego, planejamento e otimização da rede, etc. Essas características fazem do Ntop uma ferramenta amplamente capaz de auxiliar no desenvolvimento e manutenção das mais diversas redes de computadores. Na sua versão atual (3.3.7), o software apresenta uma interface que é acessada via browser através da localização da porta na qual o serviço está rodando na máquina local
(http://localhost/3000). Sua interface inicial (Figura 1), composta por menus dispostos horizontalmente na parte superior da janela, permite fácil acesso a todos os métodos de controle e medida da rede. Também na interface inicial estão apresentadas informações de estatísticas globais da rede, permitindo uma rápida analise sobre o fluxo total de dados sobre a rede. Figure 1. Interface Inicial do Ntop 2. Métodos de Análise de Fluxo de Rede O Ntop possui métodos capazes de detectar pacotes que estão sendo transmitidos na rede e segmentá-los de acordo com características que possam ser analisadas visando a identificação de certos comportamentos que possam estar sobrecarregando a rede de um modo averso às políticas de gerenciamento da mesma. 2.1. Estatísticas de Tráfego Global Este método exibe as principais informações sobre o fluxo de dados, pacotes, modos de transmissão, dentre outras informações a serem citadas a seguir, através de uma visão geral da rede. Fluxo de Pacotes Sobre a Rede (Figura 2): Exibe a quantidade de pacotes recebidos e processados, bem como a porcentagem de pacotes perdidos durante a transmissão. Também são exibidas, através de um gráfico, informações sobre o modo de transmissão dos pacotes, podendo ser unicast, multicast ou broadcast. Outras informações exbidas referente aos pacotes transmitidos são o tamanho dos pacotes, destacando características como menor pacote, maior pacote, tamanho médio de pacotes; pacotes inválidos ou corrompidos detectados através do checksum; é exibida uma distribuição considerando os diferentes tamanhos de pacotes analisados.
Figure 2. Fluxo de Pacotes Identificados pelo Ntop Tráfego Sobre a Rede (Figura 3): Exibe uma relação geral de dados trafegados pela rede monitorada. São medidas informações como tráfego total sobre a rede, separados por protocolo de rede utilizado. Também são capturadas informações referentes ao tempo de vida dos pacotes (TTL), sendo exibidos em um gráfico e em uma tabela dividida por diferentes valores para o TTL. Figure 3. Medidas de Tráfego Carga de Rede (Figura 4): Exibe informações sobre a ocupação atual da rede, ocupação média, ocupação máxima e carga de rede nos últimos minutos. Figure 4. Medidas de Ocupação da Rede Distribuição Global de Protocolos (Figura 15): Exibe quais protocolos de internet estão sendo utilizados sobre a rede, destacando o volume e a porcentagem de dados trafegados através dele. Também são informados quais protocolos de trans-
porte referentes ao protocolo de internet destacado foram utilizados na sessão, exibindo seus respectivos volumes e porcentagens de dados transmitidos. Figure 5. Distribuição de Protocolos de Rede Utilizados Distribuição Global de Serviços Sobre Protocolos de Comunicação (Figura 6): Lista todos os serviços que estão sendo utilizados sobre os protcolos de transporte TCP ou UDP, destacando valores de dados transferidos e porcentagem histórica de uso dos serviços, viabilizando a identificação de quais serviços estão consumindo mais recursos da rede. Figure 6. Distribuição de Serviços Utilizados Utilização de Portas de Comunicação (Figura 7): Exibe todas as portas de comunicação que foram utilizadas recentemente. Através de um clique sobre o número da porta, é possível visualizar quais servidores utilizaram tal porta e, com um clique sobre o link do servidor, são exibidas diversas informações referentes à máquina remota conectada a porta. Figure 7. Portas de Comunicação Recentemente Utilizadas
2.2. Informação de Hosts Esse método captura e exibe diversas informações sobre os hosts que foram acessados através da rede monitorada (Figura 8). Em princípio, são dispostos em forma de tabela dados referentes a características gerais dos hosts, como endereço IP e MAC, largura da banda que está sendo utilizada pela conexão, distância em hops até a máquina remota, dentre outas informações. Para se obter informações mais detalhadas sobre os hosts remotos, é possível clicar sobre o identificador do host na primeira coluna da tabela, sendo redirecionado a seguir para uma tela contendo dados detalhados sobre a máquina e os serviços que estão sendo executados (Figura 9). Figure 8. Informações Sobre os Hosts Acessados Através da Rede Figure 9. Informações Detalhadas Sobre um dos Hosts Remotos 2.3. Informações de Tráfego Referente aos Protocolos Nesta seção são exibidos os dados enviados e recebidos por todos os hosts identificados com base em protocolos de rede e de transporte (Figura 10). Tem-se, assim, uma referência sobre o comportamento dos usuários e que serviços solicitados por eles estão consumindo recursos da rede.
Figure 10. Exibição dos Dados Enviados/Recebidos pelos Hosts 2.4. Throughput de Rede Neste módulo estão dispostas informações sobre os dados enviados e recebidos pelos hosts detectados. Na tabela de exibição de dados (Figura 11), estão especificados os valores referentes a quantidade mínima, máxima e média de dados e pacotes transferidos em todos os sentidos para todos os hosts. Assim, tem-se um método de medição que abstrai características como protocolos utilizados e tipos de informações, considerando apenas a quantidade de dados transferidos. Figure 11. Especificação do Throughput Total de Dados Sobre a Rede
2.5. Atividade de Rede O seção de Network Activity exibe o percentual de uso de rede para todos os hosts em um determinado período de tempo. Cada intersecção linha/coluna da tabela (Figura 12) contém um campo que recebe uma determinada cor de acordo com o uso de rede no horário especificado. Cada cor representa uma um percentual de uso para cada host, calculado de acordo com o tráfego gerado pelo host na última hora, dividido pelo tráfego gerado pelo host nas últimas 24h. Figure 12. Exibição da Atividade de Rede Gerada por Todos Hosts 3. Estatísticas Sobre IP O módulo de estatísticas sobre o protocolo de rede IP exibe informações referentes ao fluxo de dados de acordo com diferentes parâmetros, tais como tipo do protocolo de transporte utilizado, tipo de transmissão, direção de transmissão, etc. Também são disponibilizados alguns métodos para obtenção de informações sobre os hosts que foram detectados na rede, destacando que tipo de serviços oferecem, quais hosts se comunicam com ele, dentre outras informações mais específicas. 3.1. Estatísticas Gerais Inseridos no módulo de estatísticas sobre IP estão diversos métodos que podem auxiliar na identificação de fluxos de dados sobre a rede, oferecendo uma visão geral das informações que estã trafegando através do protocolo IP. Considerando os diferentes tipos de infomações que podem ser identificados nesse contexto, os métodos foram organizados em uma subcategoria de estatísticas gerais, contendo os seguintes métodos: Tráfego Gerado Sobre TCP/IP: Esse método exibe diversas informações referentes ao fluxo de dados sobre a rede, distribuídos por tipo de serviço que está sendo executado por cada host (Figura 13). Através desse método pode-se identificar quais usuários estão fazendo uso de serviços como messenger, kazaa, DNS, dentre outros.
Figure 13. Informações Sobre Dados Gerados pelos Hosts Transmissões Multicast: Esse método apresenta estatísticas referentes às transmissões multicast geradas por todos os hosts detectados na subrede, sendo exibidas informações sobre domínios aos quais os hosts pertencem, assim como quantidade de pacotes e dados enviados e recebidos. Domínios de Internet: São identificados os domínios de rede detectados pelo NTOP, bem como a quantidade de dados transferida para o mesmo. Através de um clique sobre o domínio, pode-se visualizar quais hosts pertencem a ele, exibindo algumas informações sobre fluxo de dados gerado e recebido por esses hosts de acordo com protocolos de internet e de transporte. Figure 14. Informações Sobre os Domínios de Rede Detectados Distribuição de Protocolo IP: Esse item destaca a distribuição do fluxo de dados considerando os protocolos de transporte e os serviços que são executados sobre os mesmos. As informações apresentadas são divididas de acordo com o tipo de transmissão utilizada, podendo ser local, remota, local-remota ou remota-local. Figure 15. Distribuição de Protocolo IP 3.2. Direções de Tráfego Neste métodos apresentam-se informações referentes ao tipo de transmissão utilizado pelos hosts da rede, sendo considerados os seguintes tipos de transmissões: local-local (Figura 16), local-remota, remota-local e remota-remota. As informações presentes neste
módulo abrangem características como nome e endereço IP de cada host relacionado, bem como a respectiva quantidade de dados enviados/recebidos e o tráfego total gerado através do tipo de transmissão selecionado. Figure 16. Tráfego IP Local Gerado pelos Hosts 3.3. Estatísticas Locais de Rede Esse contexto engloba algumas das características relevantes sobre os hosts ativos na rede local, abstraindo detalhes sobre quantidade de dados transferidos para máquinas remotas a quais eles estão conectados, disponibililzando apenas informações relevantes sobre serviços e conexões utilizadas. A partir desse conceito, podem ser identificados os seguintes métodos: Portas Usadas: Esse método apresenta uma relação de todas as portas e a indicação dos serviços que estão sendo executados por todos os hosts ativos da rede local. Também são disponibilizados detalhes das máquinas através de um clique sobre o respectivo nome. Figure 17. Portas Utilizadas
Sessões TCP/UDP Ativas: Esse item disponibiliza informações sobre tais sessões, destacando a identificação do servidor remoto, bem como dados enviados e recebidos, data e horário de ativação, duração da sessão e tempo de inatividade. Figure 18. Sessões Ativas Identificação de Hosts: Esse método apresenta informações sobre os sistemas operacionais dos hosts da rede local, exibindo uma relação geral referente a quantidade e variedade de sistemas operacionais que estão atuando sobre a rede. Figure 19. Identificações dos Hosts Caracterização de Hosts: Apresentam-se algumas características dos hosts locais, sendo destacadas as seguintes: gateway, impressora, servidor de DNS/SMTP/FTP/outros e cliente de DHCP. Figure 20. Informações Sobre Características dos Hosts
Mapa de Tráfego da Rede: Exibe informações sobre as direções de conexão entre os hosts, apresentando-as na forma de uma estrutura similar a um grafo (Figura 21). Através de um clique sobre cada um dos hosts detectados é possível visualizar informações detalhadas sobre o mesmo. Figure 21. Mapa Gerado para a Rede Local Matriz de Tráfego da Subrede: São identificadas as conexões existentes entre os hosts da rede local, apresentando a quantidade de dados transferidos entre cada um desses hosts. Figure 22. Matriz de Rede Contendo os Dados Transmitidos entre os Hosts 4. Plugins O Ntop possui suporte a uma série de plugins de terceiros que acrescentam funções que não estão presentes na versão original do programa, complementando-o e tornando-o mais versátil. Dentre os plugins disponíveis, destacam-se os seguinte: icmpwatch: Esse plugin cria um relatório com os pacotes do tipo ICMP que foram detectados pelo Ntop. Esse relatório inclui informações sobre cada host e contagem de bytes enviados/recebidos. NetFlow: Esse plugin faz uso de um roteador pré-configurado que exporta informações via UDP a uma determinada máquina, a qual realiza as interpretações adequadas para os dados coletados. Através do plugin NetFlow, o Ntop é capaz de exportar dados para o coletor de informações, agir como um coletor e executar
funções tanto de coletor quanto de análise de dados. Quando ativado, esse plugin gera dados quando uma conexão TCP é finalizada e quando o recebimento de pacotes UDP ou ICMP é detectado, sendo importante para detecção de ataques DoS. PDAPlugin: É produzido um relatório resumido capaz de ser exibido através da interface de um dispositivo PDA, tornando possível a manutenção da rede em ocasiões em que o computador não está diponível para o responsável da rede.. RemotePlugin: Permite que aplicações remotas acessem os dados do Ntop, oferecendo outra opção de acesso à ferramenta de manutenção da rede. rrdplugin: Plugin responsável por produzir determinados tipos de gráficos e data do tipo rrd. sflow: Desenvolvido pelo consórcio sflow, esse plugin é utilizado para detectar, diagnosticar e resolver problemas de rede, gerenciar congestinamentos em tempo real e detectar o perfil das rotas e realizar otimizações. Utiliza tecnolgia de amostragem de dados (Sampling), sendo enviados através de pacotes UDP ao coletor do NTOP, especificado através de seu endereço IP e porta. 5. Conclusão Considerando todos os recursos oferecidos pelo NTOP, fica evidente a eficácia da ferramenta quando do auxílio no monitoramento de redes de computadores de dimensões variadas, porém exige um certo nível de conhecimento teórico para efetuar uma correta interpretação das informações disponibilizadas. Devido ao nível de detalhes que a ferramenta apresenta, sua utilização pode ser um pouco confusa, o que é amenizado conforme o usuário toma conhecimento das funcionalidades e informações apresentadas. Apesar de todos os métodos disponibilizados e dos plugins adicionais, é sempre recomendado utilizar o NTOP em conjunto com outra ferramenta de análise de redes para obtenção de informações complementares, visando um bom planejamento e funcionamento de toda a rede. 6. Referências http://www.ntop.org http://www.sflow.org http://www.cisco.com/en/us/tech/tk812/tsd technology support protocol home.html