artigo gerência de redes
DESCRIPTION
TRANSCRIPT
Gerenciando uma Rede com: Traceroute, Iperf, Netstat, Wireshark e Iptables
Luma da Rocha Seixas1
1Faculdade de Sistemas de Informação – Universidade Federal Pará (UFPA)Santarém – PA – Brasil
Resumo. Este artigo descreve uso de algumas ferramentas para fazer o gerenciamento de falhas, configuração, contabilização, desempenho e segurança. Pretendese mostrar como implementar uma pequena infraestrutura para garantir a integridade e a segurança dos dados em uma rede. Para isso serão feitos testes com algumas aplicações que demonstrem a eficiência das mesmas nesse gerenciamento.
1. IntroduçãoCom o passar dos anos foi possível observar a crescente importância das Redes de Computadores. Isso se deve ao seu principal objetivo: o compartilhamento de recursos. Mas, à medida que essas redes vão evoluindo é necessário ter um maior controle sobre o seu gerenciamento. O qual está relacionado com o monitoramento de suas atividades e recursos. [1]
Como cada vez mais setores de todas as áreas vem se utilizando das redes, o tráfego de informações aumenta e há por tanto uma preocupação de como esses dados irão trafegar na rede. Poder gerenciar as possíveis falhas de forma a detectálas e isolálas, ou reconfigurar a rede para tentar diminuílas é uma das soluções encontradas por gerentes de redes. Também fazse necessário a contabilização dos recursos utlizados, com o objetivo de fazer com que haja uma utilização eficiente da rede e evite a sobrecarga que pode ser resultado de acessos privilegiados.[1]
O monitoramento e controle de acesso à rede e à informação que nela trafega tornouse alvo de pesquisas, de forma que esses serviços sempre sejam executados com qualidade. Para isso, é possível contar com ferramentas para a geração, distribuição e armazenamento de chaves criptográficas e de senhas para proteger as informações.
Para possibilitar um melhor acesso ao dados através de uma rede Móvel ou cabeada, surge um enorme desafio chamado de Qualidade de Serviço (Quality of Service – QoS) , que visa atender as necessidades de gerenciamento dos serviços que rodam em uma rede.[1]
Atualmente estão sendo desenvolvidos softwares que possibilitam o gerenciamento da carga que será utilizada na rede sem fio, permitindo assim uma melhor distribuição dos recursos da rede, possibilitando inclusive alterar a carga conforme surgem as necessidades.[1]
A partir do contexto acima, fazse necessário buscar aplicativos que ajudem nesse controle. O objetivo desse artigo é ,justamente ,apresentar algumas ferramentas que oferecem funcionalidades para fazer esse gerenciamento.
2. Áreas de GerenciamentoGerenciamento de rede inclui a disponibilização, a integração e a coordenação de elementos de hardware, software e humanos, para monitorar, testar, consultar, configurar, analisar, avaliar e controlar os recursos da rede, e de elementos, para satisfazer às exigências operacionais, de desempenho e de qualidade de serviços em tempo real a um custo razoável. [2]
A ISO (International Standards Organization) definiu um modelo, o OSI (Open Systems Interconnection) em que as atividades de gerenciamento de redes são divididas em cinco áreas funcionais. Cada uma das áreas funcionais busca resolver problemas relativos a falhas de componentes, configuração da rede, níveis de desempenho alcançados pela rede, segurança e contabilização de sua utilização. Estas áreas funcionais são: Gerenciamento de Falhas, Gerenciamento de Configuração, Gerenciamento de Contabilização, Gerenciamento de Desempenho e Gerenciamento de Segurança. [3]
2.1 Gerenciamento de FalhasA gerência de falhas tem a responsabilidade de monitorar os estados dos recursos, da manutenção de cada um dos objetos gerenciados, e pelas decisões que devem ser tomadas para restabelecer as unidades do sistema que venham a dar problemas.
As informações que são coletadas sobre os vários recursos da rede podem ser usadas em conjunto com um mapa desta rede, para indicar quais elementos estão funcionando, quais estão em mau funcionamento, e quais não estão funcionando.
Opcionalmente, podese aqui gerar um registro das ocorrências na rede, um diagnóstico das falhas ocorridas, e uma relação dos resultados deste diagnóstico com as ações posteriores a serem tomadas para o reparo dos objetos que geraram as falhas. [4]
2.2 Gerenciamento de ConfiguraçãoO serviço de gerência de configuração contempla a realização de uma série de atividades dentro desta área funcional, desenvolvendo ações para materialização de resultados de curto prazo. O objetivo é o de permitir a preparação, a iniciação, a partida, a operação contínua, e a posterior suspensão dos serviços de interconexão entre os sistemas abertos, tendo então, a função de manutenção e monitoração da estrutura física e lógica de uma rede, incluindo a verificação da existência dos componentes, e a verificação da interconectividade entre estes componentes.
Algumas atividades que podem auxiliar no gerenciamento:
Identificação dos Elementos Funcionais: Processo de descoberta, classificação e identificação dos elementos (qualquer dispositivo que contenha endereço IP).
Construção de Mapas de Topologia: Apresentação e construção de mapas com a topologia dos elementos (dispositivos IP) e representação da estrutura de interconexão física ou lógica destes elementos.
Inventário de Hardware e Software: Mecanismos para Inventário de Hardware e Software de diferentes dispositivos e ambientes, fornecendo informações sobre configuração e disponibilidade de recursos em cada elemento.
Construção de Bases de Dados de Configuração: Contém as aplicações que auxiliam no processo de configuração de elementos de rede:
Implementação em larga escala: Mecanismos para a reaplicação de configuração em larga escala, facilitando o processo de implementação e o fornecimento de recursos.
Verificação de Integridade: Análise crítica das configurações de IOS de todo o ambiente da rede.
Distribuição Eletrônica de Software: Distribuição de versões do sistema operacional (SW), com mecanismos de controle do processo.
Gestão de Alteração na Configuração dos Dispositivos: Mecanismos de sinalização e acompanhamento de mudanças. O objetivo é desenvolver processos capazes de acompanhar as modificações implementadas por um usuário na infraestrutura. [4]
2.3 Gerenciamento de ContabilizaçãoA gerência de Contabilidade provê meios para se medir e coletar informações a respeito da utilização dos recursos e serviços de uma rede, para podermos saber qual a taxa de uso destes recursos, para garantir que os dados estejam sempre disponíveis quando forem necessários ao sistema de gerenciamento, ou durante a fase de coleta, ou em qualquer outra fase posterior a esta.
Deve existir um padrão para obtenção e para a representação das informações de contabilização, e para permitir a interoperabilidade entre os serviços do protocolo OSI. A função de contabilização deve ser genérica para que cada aplicação trate os dados coerentemente de acordo com as suas necessidades. Estas funções podem ser usadas para várias finalidades como tarifas sobre serviços prestados, controle de consumo dos usuários, etc.
A função de contabilização é implementada através de objetos gerenciados especiais associados à contabilização (a utilização dos recursos ligados a estes objetos que representam as características de um dado recurso monitorado) chamados de “Objetos Contabilizados”.
2.4 Gerenciamento de DesempenhoO gerenciamento de desempenho é um conjunto de funções responsáveis pela manutenção e exame dos registros que contém o histórico dos estados de um sistema, com o objetivo de serem usados na análise das tendências do uso dos componentes.
Há um planejamento do sistema, através do dimensionamento dos recursos que devem ser alocados para o mesmo, com o objetivo de atender aos requisitos dos usuários, para satisfazer a demanda de seus usuários, ou seja, garantir que não ocorram insuficiências de recursos quando sua utilização se aproximar da capacidade total do sistema.
Para atingir estes objetivos, devese monitorar taxa de utilização dos recursos, a taxa em que estes recursos são pedidos, e a taxa em que os pedidos a um recurso são rejeitados. Para cada tipo de monitoração, definimos um valor máximo aceitável (threshold), um valor de alerta, e um valor em que se remove a situação de alerta.
2.5 Gerenciamento de Segurança
O objetivo do gerenciamento de segurança é o de dar subsídios à aplicação de políticas de segurança, que são os aspectos essênciais para que uma rede baseada no modelo OSI seja operada corretamente, protegendo os objetos gerenciados e o sistema de acessos indevidos de intrusos. Deve providenciar um alarme ao gerente da rede sempre que se detectarem eventos relativos à segurança do sistema.[5]
O gerenciamento de segurança trata de questões como:
Geração, distribuição e armazenamento de chaves de criptografia;
Manutenção e distribuição de senhas e informações de controle de acesso;
Monitoração e controle de acesso à rede ou parte da rede e às informações obtidas dos nodos da rede;
Coleta, armazenamento e exame de registros de auditoria e logs de segurança, bem como ativação e desativação destas atividades. [5]
3. Ferramentas e ambiente para fazer o gerenciamentoHá várias ferramentas para medir e simular o tráfego de pacotes. Para a realização esse trabalho, foram escolhidas aquelas que apresentaram maior facilidade na sua sintaxe e principalmente atenderam a proposta aqui apresentada, que é poder fazer um gerenciamento com ferramentas mais simples e conhecidas.
Outro critério analisado foi o de escolher softwares que sejam compatíveis com o sistema operacional escolhido para o desenvolvimento dos testes, neste caso – UBUNTU 9.04. Com isso as ferramentas (softwares) escolhidos foram: Traceroute(Falhas), Iperf(Configuração), Netstat(Contabilização), Wireshark(Desempenho) e Iptables(Segurança). O local dos testes foi o Laboratório de Informática da Faculdade de Sistemas de Informação e as máquinas utilizadas foram: labin06, labin07 e labin08.
4. Traceroute A Internet é composta por um conjunto de redes interligadas entre si. Os dados numa rede IP, são enviados em blocos referidos como pacotes ou datagramas (os termos são basicamente sinônimos no IP, sendo usados para os dados em diferentes locais nas camadas IP). Em particular, no IP nenhuma definição é necessária antes do host tentar enviar pacotes para um host com o qual não comunicou previamente.
Traceroute é uma ferramenta que permite descobrir o caminho feito por esses pacotes desde a sua origem até o seu destino. Ele é usado para testes, medidas e gerenciamento da rede. O traceroute pode ser utilizado para detectar falhas como, por exemplo, gateways intermediários que descartam pacotes ou rotas que excedem a capacidade de um datagrama IP. Com esta ferramenta, o atraso da "viagem" do pacote entre a origem e gateways intermediários são reportados, permitindo determinar a contribuição de cada gateway para o atraso total da "viagem" do pacote desde a origem até o seu destino. Versões melhoradas do traceroute permitem a especificação de "rotas livres da origem" para os datagramas. Isto permite investigar qual o caminho de retorno que as máquinas remotas fazem até o host local. A seguir será mostrada uma tela que exibirá resultados da execução de traceroute.
Fig.1 traceroute para 10.125.100.72
Na figura acima foi traçado uma rota para o ip 10.125.100.72. A primeira linha de saída é a informação sobre o que estou fazendo, ele mostra o sistema de destino, endereço de IP do sistema, o número máximo de saltos que será permitido e o tamanho dos pacotes enviados. Na linha seguinte é mostrado o roteador que fica no caminho entre a máquina que executa o traceroute e o sistema de destino. Os tempos de ida e volta (ou RTTs) representam quanto tempo levou para obter um pacote de labin06 para o labin07 e viceversa, chamado de latência entre os dois sistemas. Por padrão, três pacotes são enviados para cada sistema ao longo do percurso, por isso temos três RTTs.
Fig.2 traceroute para www.w3.org
Na Fig.2 foi traçado uma rota para www.w3.org. Como foi especificado acima, a primeira linha informa sempre que operação está sendo realizada e o seu IP, número máximo de saltos e o tamanho do pacote a ser enviado. É possivel observar que há uma linha para cada roteador que ele passa. Os asteriscos(* * *) significam que o sistema de destino não pôde ser alcançado. Mais precisamente, isso significa que os pacotes não conseguiram chegar até lá e voltar, pois eles podem até ter atingindo o sistema alvo, mas que enfrentaram problemas durante seu retorno. A causa disso é possivelmente algum tipo de problema, ou também pode ser um bloqueio intencional, devido a um firewall ou outras medidas de segurança.
5. IperfA camada de transporte, em redes IP, é tipicamente constituída por dois protocolos: o UDP (“User Datagram Protocol” ) e o TCP (“Transmission Control Protocol”). O UDP efetua ligações não orientadas à conexão, suportando a multiplexagem de fluxos de diversas aplicações mas não garantindo a entrega de pacotes. Pelo contrário, o TCP é um protocolo muito complexo, orientado à conexão e dispondo de mecanismos de controlo de fluxo, congestão e retransmissão, permitindo o estabelecimento de canais lógicos fiáveis byte oriented. Aqui irá ser apresentado a performance de uma rede cabeada ao desempenhar esses protocolos.
Para isso, será utilizada a ferramenta, iperf, para geração de tráfego. Basicamente, esta ferramenta concretiza uma arquitectura cliente/servidor, permitindo criar ligações TCP/UPD e efectuando o cálculo de diversos parâmetros como sejam o débito e a latência. O cenário desta experiência envolve três máquinas, designados genericamente por labin06, labin07 e labin08.
Fig.3 labin06 atua em modo servidor
Fig.4 labin07 atua em modo cliente
Fig.5 labin08 atua em modo cliente
O iperf é utilizado para calcular a largura de banda disponível entre dois hosts. Cada host executa um processo local e os processos comunicamse entre si através do envio de dados (UDP ou TCP), a fim de saturar o caminho entre eles.
Como pode ser observado acima, em Fig.3 foram utilizados 130k do tamanho do buffer para a transmissão. O parâmetro s indica que está no modo servidor e w referese ao tamanho da janela ou buffer. A capacidade do link é de 112MBytes e o desempenho é de 93.7Mbits/sec. Nas figuras seguintes, Fig.2 e Fig.3 a capacidade continua sendo a mesma já que os computadores estão na mesma rede, o desempenho varia apenas de servidor para cliente.
Essa aplicação ajuda na regularização conexões TCP através de um caminho particular. Uma das mais importantes questões pra o TCP é o tamanho da janela, que vai controlar a quantidade de dados que pode trafegar na rede. Se for muito pequena, quem está enviando esse dados ficará ocioso às vezes e terá um desempenho ruim.
6. NetstatPara uma boa gerência de redes, é sempre necessário verificar a sua configuração e a atividade que nela ocorre. Há várias ferramentas que possibilitam fazer esse controle, a que será utilizada nesse trabalho é o Netstat.
Fig.6 Características por protocolo
Fig.7 continuação da Fig.6
Fig.8 tabela de roteamento
Fig. Interfaces ativas
A Fig. 6 e Fig.7 mostra as estatísticas detalhadas por protocolo. Na Fig.8 exibiu o endereço do gateway, se houvesse mais de uma interface ou ter vários IPs atribuídos a uma interface, este comando ajudaria a solucionar problemas de roteamento da rede. A utilização desse comando é importante para conhecer as conexões TCP ativas na máquina onde o comando foi executado e assim listar o conjunto das portas TCP e UDP abertas no computador. Na Fig. 9 estão as informações de todas as interfaces ativas. Pode ser possível ver atrveś desse comando as estatísticas de erros de entrada/saída, assim com estatística de tráfego.
7. WiresharkO Wireshark é um desmembramento do antigo ethereal, ele é um analisador de protocolos, usado em cima de interface de redes (placa wireless, ethernet,...). Sua função é capturar qualquer tipo de pacotes que trafeguem pela placa. Têm biblioteca de pares de protocolos que decodificam os pacotes identificando qual o protocolo e seus parâmetros, tem a opção de construir uma biblioteca e ampliar a gama de protocolos suportados.
Fig.10 programa em execução
Fig.11 wireshark capturando pacotes
Fig.12 aplicando um filtro
A Fig.10 mostra o wireshark em execução. Na Fig.11 foi iniciado um teste para poder testar um filtro. Foi acessado um site a partir da máquina 10.125.100.71 para analisarmos os pacotes. E os pacotes foram capturados até ser efetuado um login qualquer. Foi dado um “stop” na captura de pacotes para poder fazer um filtro. O filtro era “http matches POST” cujo objetivo era filtrar somente os pacotes HTTP que possuiam o comando POST. O resultado pode ser visto na Fig. 12, somente pacotes cujo protocolo é HTTP.
8. Iptables Firewall é um quesito de segurança com cada vez mais importância no mundo da computação. À medida que o uso de informações e sistemas é cada vez maior, a proteção destes requer a aplicação de ferramentas e conceitos de segurança eficientes. O firewall é uma opção praticamente imprescindível.
Normalmente utilizamos um proxy como firewall em nivel de aplicação, para efetuarmos filtragem baseado no conteudo do pacote. Assim podemos bloquear determinadas paginas e anexos, baseado em nomes de URLs e extensões de arquivos.Embora, não seja o mais recomendado podemos fazer com que o iptables trabalhe “simulando” no nível de aplicação.
Podemos dividir os tipos de firewall basicamente em dois tipos (retirado do focalinux):
Firewall de Aplicação: Este tipo de firewall analisam o conteúdo do pacote para tomar suas decisões de filtragem. Servidores proxy, como o Squid, são um exemplo deste tipo de firewall.
Firewall de Pacotes: Este tipo de firewall toma as decisòes baseadas nos parametros dos pacotes como porta/endereço de origem/destino, estado da conexão e, e outros parametros do pacote. Exemplos são o próprio iptables, ipfw, ipfilter e o Pix. [6]
O Iptables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Em firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do sistema tenha conhecimento sobre o que está acontecendo em seu sistema.
O tráfego vindo de máquinas desconhecidas da rede pode também ser bloqueado/registrado através do uso de simples regras. As possibilidades oferecidas pelos recursos de filtragem iptables como todas as ferramentas UNIX maduras são diversas, pois ele garante uma grande flexibilidade na manipulação das regras de acesso ao sistema, precisando apenas conhecer quais interfaces o sistema possui, o que deseja bloquear, o que tem acesso garantido e quais serviços devem estar acessíveis para cada rede.
O Iptables funciona baseado num conjunto de Regras, que seriam: comandos passados ao iptables para que ele realize uma determinada ação (como bloquear ou deixar passar um pacote) de acordo com o endereço/porta de origem/destino, interface de origem/destino, etc. Elas são armazenadas dentro dos chains e processadas na ordem que são inseridas.[7]
Há também os Chains, que são os locais onde as regras do firewall são definidas e armazenadas para operação do firewall. Eles são divididos em 2 tipos: Os que podem ser criados pelo usuário e os embutidos(INPUT, OUTPUT E FORWARD). Esses chains são armazenados em Tabelas, que são referenciadas pelo comando t. Elas podem ser:
Filter(tabela padrão que está subdividida em: Input – trata dos dados que chegam na máquina, Output – trata dos dados que saem das máquinas e Forward – trata dados que são redirecionados para outra interface de rede ou outra máquina).
Nat(usada para dados que gera outra conexão, pode ser: Prerouting – Consultado quando os pacotes precisam ser modificados logo que chegam , Output – Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados e Postrouting – Consultado quando os pacotes precisam ser modificados após o tratamento de roteamento).
Mangle(utilizada para alterações especiais de pacotes, está dividida em: Input – Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain INPUT da tabela filter, Forward – Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain FORWARD da tabela filter, Prerouting – Consultado quando os pacotes precisam ser modificados antes de ser enviados para o chain PREROUTING da tabela nat , Postrouting – Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain POSTROUTING da tabela nat e Output Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain OUTPUT da tabela nat.
A seguir estão os resultados de alguns testes feitos com a ferramenta em questão.
Fig.6 Máquina local respondendo ao ping
Fig.7 Bloqueando o acesso à máquina local
Na Fig.6 foi utilizado o comando ping para testar a conectividade entre equipamentos. O parâmetro c referese ao número de pacotes a ser enviado ao computador de destino, no caso 5. Como pôde ser observado, houve a conectividade. Na figura seguinte, Fig.7 foi incluída uma regra para bloquear o acesso à máquina 127.0.0.1. O parâmetro t indica que a tabela filter será usada como padrão caso nenhuma tabela seja especificada. A opção A é usada para adicionar novas regras no final do chain. A regra INPUT é colocada pra filtrar todo tráfego que entra no firewall e para bloquear qualquer acesso ao endereço 127.0.0.1, o j aplica um alvo a regra que no caso é DROP, que tem por função descartar o pacote. E o resultado foi que desta vez a máquina 127.0.0.1 não respondeu, pois todos os pacotes com o destino 127.0.0.1 (d 127.0.0.1) são rejeitados (j DROP).
Fig.8 Limpando as regras do Iptables
Na Fig.8 foi utilizado o parâmetro F que serve para limpar todas as regras existentes. O que possibilitaria poder acessar a máquina 127.0.0.1 novamente. Para isso, logo depois foi feito um “ping” para o enderereço, do qual, como poder ser observado retornou resposta.
O iptables trouxe o conceito de arquitetura modular, agora usercode módulos são possíveis. Os modulos são programados no nível do kernel mas podem ser carregados no espaço no usuario com o uso do comando modprobe[6]. Não foi possível
executar esses teste com a ferramenta, porém, aqui está um exemplo de como seria a sua implementação.
Dois módulos são interessantes pois fazem uma inspeção em todo o payload do pacote e elevam a funcionalidade do iptables para além de uma simples inspeção do modelo TCP/IP: Modulo String e Módulo Length.
1 – Módulo String## Bloqueando acesso a pacotes que contem “playboy” e gerando logiptables A FORWARD m string –string “playboy” j LOG — logprefix ” Acesso a Playboy”iptables A FORWARD m string –string “playboy” j DROP
## Limitando acesso a qualquer dados que contenham no payload “orkut” a 1/miptables A FORWARD m string –string “orkut” m limit –limit 1/m j ACCEPT
## Bloqueando o acesso a mp3 e logandoiptables A FORWARD m string –string “.mp3 j LOG –logprefix “Download: mp3″ ″iptables A FORWARD m string –string “.mp3 j DROP″
2 – Módulo length## Bloqueia qualquer pacote UDP maior que 10kbiptables A FORWARD p udp m length –lentgh 10000 j DROP
##Bloqueia qualquer pacote icmp vindo da eth0 entre 1 e 15kbiptables A FORWARD p icmp i eth0 m lenght –length 1000:15000
Referências[1]“Qualidade de serviço em redes sem fio”, http://guaiba.ulbra.tche.br/si/content/tcc/tccII_2005_1/TCC2_Tiago.pdf, Novembro.
[2]“Introdução ao Gerenciamento de Redes”, http://www.exatec.unisinos.br/~leo/arquivos/Aula1.pdf, Novembro.
[3]“O que é Gerenciamento de Redes”, http://www.falabras.pro.br/06.htm, Novembro.”
[4]“Gerenciamento de Falhas”, http://www.shammas.eng.br/acad/sitesalunos0106/012006gr/falhas.htm, Novembro.”
[5] “Gerência de Redes de Computadores Parte I A Necessidade de Gerenciamento
[6]“Usando o Iptables como Firewall no Nível de Aplicação e como IDS”, http://www.blogmind.com.br/2006/11/03/usandooiptablescomofirewallnoniveldeaplicacaoecomoids/, Novembro.
[7]“Guia Foca GNU/Linux Capítulo 10 Firewall iptables”, http://focalinux.cipsga.org.br/guia/avancado/chfwiptables.htm, Novembro.
”, http://www.malima.com.br/article_read.asp?id=279, Novembro.
“Entendendo Qualidade de Serviço”, http://www.informatika.inf.br/downloads/dicas/Entendendo_QoS_Quality_of_Service.pdf, Novembro.
“Firewall com Iptables + Squid”, http://www.vivaolinux.com.br/artigo/FirewallcomIptables+Squid/, Novembro.
“Firewall, referências e tipos”, http://www.infowester.com/firewall.php, Novembro.
“Gerência de Redes”, http://pt.wikipedia.org/wiki/Ger%C3%AAncia_de_redes. Novembro.
“Gerenciamento de Redes”, http://www.gta.ufrj.br/~alexszt/ger/snmpcmip.html, Novembro.
“Implemente e Configure o seu Linux com IPTABLES”, http://www.dicasl.com.br/dicasl/20030705.php, Novembro.
“Iniciando nas regras do iptables”, http://www.vivaolinux.com.br/artigo/DominandooIptables(parte2)/, Novembro.
“Introdução ao Gerenciamento de Redes TCP/IP”, http://www.rnp.br/newsgen/9708/n32.html, Novembro.
“Iperf a free tool to test the network speed”, http://thesystemadministrator.com/the_system_administrator/tips_&_tricks/iperf__a_free_tool_to_test_the_network_speed/, Novembro.
“IPTables Linux firewall with packet stringmatching support ”, http://www.securityfocus.com/infocus/1531, Novembro.
“Protocolo IP”, http://www.matrasistemas.com.br/notas/protocolo%20ip.htm, Novembro.
“Using Traceroute”, http://www.exit109.com/~jeremy/news/providers/traceroute.html, Novembro.