original in de Mario M. Knopf
de to en Mario M. Knopf
en to pt Bruno Sousa
O Mario gosta de se manter ocupado com o Linux, redes e outros t�picos relacionados com seguran�a.
O "darkstat" [1] � um programa de monitoriza��o de redes que analisa o tr�fego resultante de uma rede e gera com base nestes dados v�rias estat�sticas no formato de HTML. Estas estat�sticas podem ser vistas num browser de um modo comfort�vel. Para este prop�sito o autor do programa, Emil Mikulic, utilizou o "ntop" [2] durante um longo per�odo de tempo. Mas ele ficou descontente com os seus problemas de estabilidade e m� utiliza��o da mem�ria. Por esta raz�o desenvolveu o "darkstat". As estat�sticas apresentadas referem-se � comunica��o entre as diferentes m�quinas, o tr�fego que consequente e o n�mero das portas utilizados, alternativamente os protocolos envolvidos na transmiss�o. Adicionalmente podem ser vistos gr�ficos com per�odos de tempo e um pequeno resumo dos pacotes analisados desde que o programa foi iniciado.
As fontes do programa "darkstat" podem ser obtidas directamente em [3]. Em alternativa os dois mirrors podem ser visitados em [4] e [5]. Se algu�m procura por pacotes Debian pode encontr�-los em [6].
O "darkstat" tamb�m depende, como muitos outros programas de monitoriza��o, do ficheiro da "libpcap"[7]. Este � uma biblioteca que � usada por sniffers e fornece-lhes uma interface para capturar e analisar os pacotes dos dispositivos de rede. Assim para instalar o "darkstat" precisa desta biblioteca.
Depois tem de o instalar com os tr�s passos bem conhecidos "./configure && make && make install". � importante que a �ltima instru��o seja feita com permiss�es de root.
O "darkstat" oferece alguns parâmetros que podem ser definidos no arranque do programa. Contudo para come�ar um arranque sem nenhuma op��o basta. Mas o programa tem de ser iniciado como root ou com privil�gios "sudo [8]:
neo5k@proteus> sudo /usr/local/sbin/darkstat We trust you have received the usual lecture from the local System Administrator. It usually boils down to these two things: #1) Respect the privacy of others. #2) Think before you type. Password:
Depois do utilizador ter introduzido a sua palavra-passe, o "darkstat" arranca e apresenta v�rias mensagens de estado:
darkstat v2.6 using libpcap v2.4 (i686-pc-linux-gnu) Firing up threads... Sniffing on device eth0, local IP is 192.168.1.1 DNS: Thread is awake. WWW: Thread is awake and awaiting connections. WWW: You are using the English language version. GRAPH: Starting at 8 secs, 51 mins, 22hrs, 30 days. Can't load db from darkstat.db, starting from scratch. ACCT: Capturing traffic... Point your browser at http://localhost:666/ to see the stats.
Visto que o teste ocorreu com sucesso e o output produzido explica-se a si mesmo, podemos dar uma vista de olhos aos poss�veis par�metros de arranque.
Como referido anteriormente o "darkstat" fornece v�rias op��es, algumas das quais podem ser dadas durante o arranque. Os tais par�metros s�o:
Com a op��o "-i" pode especificar qual a interface a ser monitorizada.
darkstat -i eth1
Iniciado sem nenhum par�metro especial o "darkstat" abre a porta priveligiada 666. Pode prevenir-se deste h�bito, quando o arranca com o par�metro "-p":
darkstat -p 8080
No sentido de registar num determinado porto e numa determinada interface, pode usar a op��o -b. Neste exemplo, o registo � feito no endere�o de loopback:
darkstat -b 127.0.0.1
A resolu��o de DNS persistente pode ser prevenida com o par�metro "-n". Isto pode ser bom para as pessoas sem uma linha dedidada ou alguma largura de banda.
darkstat -n
Use a op��o "-P" para prevenir que o "darkstat" ponha a interface no "modo prom�scuo". Contudo isto n�o � recomend�vel visto que assim o "darkstat" s� captura e analisa pacotes que s�o destinada ao MAC da interface de rede da esta��o monitorizada e todos os outros pacotes s�o rejeitados.
darkstat -P
O par�metro "-l" activa o comportamento correcto "SNAT" na rede local. O "SNAT" significa "Source Network Address Translation" e quer dizer que o seu router (encaminhador) masc�ra os endere�os locais IP do cliente com o seu pr�prio endere�o p�blico. Depois envia o pedido original do cliente.
darkstat -l 192.168.1.0/255.255.255.0
Com o par�metro "-e" pode fazer filtragem de pacotes.
darkstat -e "port not 22"
A partir da vers�o 2.5 pode separar o "darkstat" do terminal de arranque. Assim trabalha como um dem�nio.
darkstat --detach
Atrav�s do par�metro "-d" pode especificar o direct�rio onde o "darkstat" cria a sua base de dados.
darkstat -d /directory
A op��o "-v" activa o "modo verboso":
darkstat -v
Se estiver interessado na vers�o do "darkstat" ou na sua utiliza��o mais completa e sintaxe, pode experimentar o par�metro "-h".
darkstat -h
Depois do arranque do "darkstat" pode apontar o seu browser para "http://localhost:666/", o que � o comportamento por omiss�o. Agora pode dar uma vista de olhos pelas estat�sticas resumidas e por alguns gr�ficos gerados desde que o programa arrancou:
Na parte dos "hosts" pode ver todas as m�quinas que tomam partido na comunica��o. Tal pode suceder-se dado o tr�fego causado ou pelo endere�o IP. Atrav�s desta possibilidade � poss�vel detectar as m�quinas que mais tr�fego produziram na rede local, de um modo r�pido. Assim um adaministrador de sistema tem possibilidade de obter a raz�o de algum problema. Por exemplo no pr�ximo ecr� tal corresponderia ao cliente com o endere�o local "192.168.1.203".
Ilustra��o 2: darkstat hosts
Na Ilustra��o 3 pode ver os n�meros dos portos que s�o usados pelas aplica��es clientes e servidoras. Pode reconhecer imediatamente o n�mero das portas usados pelos seguintes dem�nios: 21 (FTP), 22 (SSH), 139 (Samba), 631 (CUPS), 666 (darkstat), 3128 (Squid). Contudo, os dois servi�os "dhcpd" e o "dnsmasq" n�o s�o vis�veis, porque estes servi�os comunicam via "UDP". Todos os outros portos superiores a 1024 s�o n�o priveligiados e foram usados pelas aplica��es clientes para a comunica��o. O servidor proxy "squid" representa a excep��o, porque usa o porto 3128 por omiss�o. Pode ver uma lista de todos os portos atrivu�dos na IANA [9], a qual � respons�vel por eles. Em alternativa pode dar uma vista de olhos no ficheiro "/etc/services".
Ilustra��o 3: darkstat ports
Na figura seguinte podem ver os protocolos "ICMP", "TCP" e "UDP" envolvidos na transmiss�o de ficheiros. Se algu�m estiver interessado nestes protocolos, encontrar� boas instru��es nos seguintes RFCs [10], [11] e [12].
Ilustra��o 4: darkstat protocols
O �ltimo ecr� mostra um resumo dos tempos de recolha comos gr�ficos:
Ilustra��o 5: darkstat graphs
A vers�o 2.6 do "darkstat" que disctutimos aqui, infelizmente � dependente dos "pthreads". O que causa problemas noutras plataformas (exemplo: NetBSD). Por esta raz�o o autor do programa Emil Mikulic decidiu n�o desenvolver mais a vers�o actual e come�ou a trabalhar na vers�o 3.x.
Na nova vers�o est�o a ser implementadas coisas como a captura simult�nea em v�rias interfaces, um ficheiro de configura��o, um output melhorado para os diagramas (algo comparativo ao RDDtool [13]), um ficheiro personalizado CSS, um login para o administrador e a edi��o da base de dados atrav�s da interface web.
O "darkstat" � muito est�vel e � um utilit�rio de monitoriza��o de rede bastante r�pido servindo exclusivamente o prop�sito para que foi desenhado - analisar tr�fego. Para al�m disto, trabalha sem problemas e encontra-se em constante desenvolvimento e ter� muitas novas e interessantes caracter�sticas na nova vers�o. Despe�o-me desejando sucesso na pesquisa dos "pecadores de tr�fego" na sua rede local.
[1] http://purl.org/net/darkstat [P�gina oficial do darkstat]
[2] http://www.ntop.org/ [P�gina oficial do ntop]
[3] http://dmr.ath.cx/net/darkstat/darkstat-2.6.tar.gz
[Download]
[4] http://yallara.cs.rmit.edu.au/~emikulic/_/darkstat-2.6.tar.gz
[Download Mirror #1]
[5] http://neo5k.de/downloads/files/darkstat-2.6.tar.gz
[Download Mirror #2]
[6] http://ftp.debian.org/debian/pool/main/d/darkstat/
[Debian Packages]
[7] http://www.tcpdump.org/ [P�gina oficial da libpcap]
[8] http://www.courtesan.com/sudo/ [P�gina oficial do sudo]
[9] http://www.iana.org/assignments/port-numbers
[IANA N�meros dos portos]
[10] ftp://ftp.rfc-editor.org/in-notes/rfc792.txt
[RFC 792 - ICMP]
[11] ftp://ftp.rfc-editor.org/in-notes/rfc793.txt
[RFC 793 - TCP]
[12] ftp://ftp.rfc-editor.org/in-notes/rfc768.txt
[RFC 768 - UDP]
[13] http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
[P�gina oficial do RRDtool]