quinta-feira, 18 de novembro de 2010

Slides da palestra sobre firewalls...

Pessoal,

Neste link, http://www.mediafire.com/?nyc61d47xub40d0 , está o arquivo da palestra sobre firewalls proferida na semana acadêmica do curso de Redes de Computadores da Faculdade SENAC Pelotas.

terça-feira, 16 de novembro de 2010

Programação da semana acadêmica

Pessoal,

 A programação da semana acadêmica dos cursos de ADS e Redes.

sexta-feira, 12 de novembro de 2010

Introdução ao Cacti

A ferramenta Cacti (http://www.cacti.net/) possibilita o monitoramento de tráfego e de recursos em hosts e dispositivos de rede. Esta ferramenta utiliza o protocolo de gerenciamento SNMP (Simple Network Management Protocol) para buscar dados e montar gráficos dos dispositivos monitorados. Para ver como instalar no Linux, acessar este link http://www.cacti.net/downloads/docs/html/install_unix.html. O vídeo abaixo mostra o uso básico da ferramenta depois de instalada que foi demonstrada em laboratório no curso superior em Redes de Computadores na Faculdade Senac Pelotas.  Um agradecimento especial ao aluno Levi Muñoz pela produção do vídeo!

Parte1:  http://www.youtube.com/watch?v=CBIHFNmEtm0







Parte2:  http://www.youtube.com/watch?v=g_arGGqyg0g

quinta-feira, 28 de outubro de 2010

Emuladores de dispositivos de rede...

Uma forma interessante de verificar as funcionalidades de dispositivos de rede é por meio de emuladores. Alguns fabricantes disponibilizam as interfaces em HTML de seus dispositivos para acesso online. Por exemplo, no site http://www.dlink.com.br/internet/suporte/emuladores.htm podem ser encontrados os links de acesso para dispositivos D-LINK. Nas figuras abaixo, as telas de configuração do modem ADSL 500B, muito comum nas operadoras de acesso em ADSL brasileiras.
 
Outros fabricantes também fornecem este tipo de emulador e pode facilitar na escolha do dispositivo necessário para determinada funcionalidade. Os links para acesso:



Exemplo de aulas em laboratório...

Algumas fotos de atividades realizadas em laboratório na unidade curricular de Laboratório de Redes II com o professor Rafael Rodrigues. O exercício proposto em aula foi este:

E esta foi a prática com os equipamentos em laboratório:




terça-feira, 17 de agosto de 2010

Guias rápidos de referência...

Uma forma de resolver os esquecimentos de sintaxe de comandos ou funcionalidades de aplicações é usar um guia rápido de referência (em inglês, quick guide). No Brasil, são muito comuns os guias de consulta rápida da editora Novatec em um formato compacto e fácil de carregar. No site da Novatec, no link http://www.novatec.com.br/ebooks/ podem ser encontrados dois guias rápidos para download gratuito.
 No site http://www.cheat-sheets.org/, podem ser encontrados diversos guias rápidos das mais diversas aplicações, linguagens e serviços. Vale a pena dar uma olhada!

quarta-feira, 4 de agosto de 2010

TcheLinux em Pelotas...

A UCPel sedia quarta edição do Tchelinux Pelotas Aproximadamente 20 palestrantes de todo o
Rio Grande do Sul devem se reunir durante todo o dia 28 de agosto para participar
da quarta edição do Seminário de Software Livre Tchelinux Pelotas 2010. O evento é
promovido pela Universidade Católica (UCPel) em parceria com um grupo local de
entusiastas voluntários que utilizam o software livre em seu cotidiano. As inscrições para interessados em participar do seminário já estão abertas. Embora ainda esteja em fase de finalização, a programação do Tchelinux Pelotas 2010 prevê a discussão de assuntos como programação de softwares,
sistemas operacionais, redes, multimídia e administração de sistemas. As palestras serão organizadas de forma democrática: há espaço tanto para quem é leigo nos temas quanto para quem já possui certo conhecimento na área. “O objetivo do evento é disseminar essa cultura e apresentar novas tecnologias e a realidade do mercado para alunos e professores da área de tecnologia e afins”, explicou o estudante do curso de Tecnologia em Análise e Desenvolvimento de Sistemas da UCPel, Guilherme Cunha. Cunha e o acadêmico do curso de Ciência da Computação da Universidade Federal de Pelotas (UFPel) Jerônimo Madruga são dois dos integrantes do Grupo de Usuários de Software Livre de Pelotas (GUSLP).
Para se inscrever, interessados devem acessar o site do evento (http://tchelinux.ucpel.tche.br/inscricoes) e se cadastrar. As vagas são limitadas.
No dia do evento, a ser realizado no Auditório Dom Antônio Zattera, cada participante deverá levar dois quilos  de alimento não perecível, que serão doados a uma instituição de caridade local.

sexta-feira, 9 de julho de 2010

Damn Vulnerable Linux...

A distribuição Damn Vulnerable Linux tem como objetivo disponibilizar aplicações com vulnerabilidades a serem exploradas. É muito legal para quem quer aprender sobre segurança em sistemas e em redes. Esta distribuição pode ser obtida neste link http://www.damnvulnerablelinux.org/

sábado, 12 de junho de 2010

Apostilas...

No servidor de FTP da Unicamp, podem ser encontradas apostilas, documentos e tutorias sobre Linux, Redes, Banco de Dados entre outros. O link é este aqui ftp://ftp.unicamp.br/pub/apoio/treinamentos/

segunda-feira, 7 de junho de 2010

Utilitário em LiveCD interessante...

O livecd G4L é o resultado do projeto de uma ferramenta de particionamento e clonagem de partições e discos em Linux. Não é uma ferramenta muito simples e clara para o uso a qual se pretende. Entretanto, ao se realizar o boot existe no menu de opções uma ferramenta chamada "Hardware Detection" de detecção de hardware excelente. Portanto, para aqueles casos onde achar o drivers para determinado periférico é um mistério, o G4L poderá auxiliar bastante. O site do projeto é http://g4l.sourceforge.net/ e a imagem do livecd (~93MB)  poderá ser baixada aqui.
Abaixo algumas telas da ferramenta em ação:

Tela inicial do livecd G4L
Menu com as opções da ferramenta Hardware Detection
Dispositivos PCI detectados na ferramenta

Versões de Microsoft Windows 2003...

Nesta tabela, um comparativo entre versões do Microsoft Windows 2003

terça-feira, 18 de maio de 2010

TcheLinux na Faculdade SENAC Pelotas...

No dia 22/05/2010, na Faculdade de Tecnologia Senac Pelotas, será realizado o seminário TcheLinux. Mais informações podem ser acessadas no blog do evento http://tchelinuxpelotas.blogspot.com/.
 Participem!

quarta-feira, 12 de maio de 2010

Evento sobre Windows 7 e 2008 em Pelotas...

Abaixo, o convite para o evento:

A SISNEMA te convida para o primeiro EVENTO GRATUITO da Jornada Tecnológica de 2010, em Pelotas.

Não deixe de participar do nosso EVENTO GRATUITO, dia 16 DE JUNHO e conheça os novos recursos avançados do Windows 7 e do Server 2008 e ainda confira de perto as novidades que foram mostradas na CEBIT 2010, maior feira mundial de TI, que aconteceu em Hannover, na Alemanha.

Tema: "Recursos Avançados Windows 7, Server 2008 + Novidades CEBIT”
Data: 16/06/2010 (quarta-feira)
Horário: 19h00 às 22h00
Local: Hotel Jacques Georges Tower  -Rua Almirante Barroso, 2069 – Centro, Pelotas / RS

Mais informações e inscrições pelo link abaixo:

quinta-feira, 29 de abril de 2010

Revista online da área de Redes...

Neste link http://www.arandanet.com.br/midiaonline/rti/ podem ser encontradas as revistas RTI (Redes, Telecom e Instalações). É uma revista que trata de infra-estrutura, cabeamento e novas tecnologias na área de redes. Vale a pena dar uma olhada!

terça-feira, 13 de abril de 2010

Python na Prática: Um curso objetivo de programação em Python

Neste link http://www.async.com.br/projects/python/pnp/ pode ser encontrado material relativo ao Python, mostrando de forma objetiva a linguagem.

quarta-feira, 7 de abril de 2010

Livros gratuitos sobre Linux...

Nestes links abaixo podem ser encontrados livros gratuitos sobre o uso e administração do sistema operacional Linux. Vale a pena dar uma olhada, são 32 livros para download ou para acesso online!
http://www.linuxlinks.com/article/20090405061458383/20oftheBestFreeLinuxBooks-Part1.html
http://www.linuxlinks.com/article/20100402190204972/12MoreoftheBestFreeLinuxBooks-Part1.html

terça-feira, 23 de março de 2010

Mais informações sobre comandos no Linux...

Depois de acessar o Linux por SSH ou abrir o terminal, toda a administração do sistema pode ser feita em modo texto, na linha de comando. E saber os comandos é fundamental. Para se ter uma referência sobre como funcionam os comandos e quais parâmetros podem ser utilizados, o comando man (Manual) é o mais indicado. Ao executar man nome_do_comando, por exemplo man ls, será mostrado o manual com as funcionalidades e parâmetros existentes.
Abaixo um exemplo da saída da execução do comando man ls em um sistema operacional Linux sendo acessado por SSH:
Os comandos, na verdade, são aplicações e utilitários que não possuem uma interface gráfica para funcionamento. Então, estas aplicações são executadas por um interpretador de comandos chamado de shell. Existem diversos tipos de shell, sendo o mais comum o Bash.  Cada interpretador de comandos possui as suas particularidades e a criação de scripts (shell script) poderá sofrer alterações de acordo com cada shell.
Abaixo, um exemplo de programação com shell script usando o Bash que manda e-mail para os aniversariantes do dia:
Neste script, deve ser passado o nome do arquivo contendo as informações  do grupo de pessoas as quais estão interessadas em saber os aniversários umas das outras. Um exemplo de um arquivo de texto contendo as informações, dia do aniversário, nome, e-mail e sexo, dos aniversariantes para ser usado no script:
São usados os seguintes utilitários neste script:

E as funções embutidas no Bash utilizadas foram as seguintes:
É perceptível que o shell possui recursos de uma linguagem de programação. E junto com os utilitários possibilitam a criação de scripts bastante robustos e flexíveis. Para saber as funcionalidades dos utilitários do script, rodem o comando man no terminal do Linux ou pesquisem nas listas comentadas a seguir.

Uma lista bem legal, com comandos para Linux/FreeBSD é a Unix Toolbox. Está diponível em PDF aqui, para imprimir e encadernar!
Outras listas bem interessantes de comandos para Linux são por meio de cheat sheets, ou sejam, guias rápidos com o resumo dos comandos. Um lista com diversos guias destes pode ser encontrada aqui.

Referências:
Top 10 Best Cheat Sheets and Tutorials for Linux / UNIX Commands
Bash Reference Manual
Shell Commands
Directory of Linux Commands

SSH - Secure Shell Protocol ...

O SSH é um protocolo para comunicação em rede de forma segura, projetado para ser simples e de fácil implementação. A versão inicial, SSH1, foi focada no provimento de uma forma segura de acesso remoto a hosts em substituição a protocolos não-seguros, principalmente o Telnet. Além do acesso remoto, o SSH provê o recurso de tunelamento o qual permite os uso de protocolos não-seguros por meio de uma conexão segura. A nova versão do SSH, SSH2, provê melhorias em relação a versão 1 e está em processo de padronização no IETF por meio das RFCs 4250 a 4256.
Clientes e servidores de SSH existem para a maioria dos sistemas operacionais, inclusive no Windows (SSH Windows e Moba SSH ). É o metodo mais utilizado para acesso remoto em sistemas Unix/Linux e tunelamento de servidores X (servidor gráfico de janelas no Linux/Unix).
 O SSH é organizado por meio de três protocolos rodando sobre TCP que são:
  - Protocolo da camada de transporte: provê autenticação no servidor, confidencialidade e integridade dos dados. Opcionalmente, esta camada pode prover compressão dos dados.
  - Protocolo de autenticação de usuário: autentica o usuário ao servidor.
  - Protocolo de conexão: possibilita a utilização de vários canais lógicos de comunicação sobre uma única conexão SSH.
Basicamente, a autenticação se dá ou por usuário e senha, ou usuário e chave privada/pública. Com o usuário e senha, ao se tentar a conexão a um servidor deverá ser digitado o usuário e a senha.  No caso de uso com chaves, a autenticação deverá ser feita configurando o lado servidor previamente com a chave pública do cliente. Quando houver a tentativa de acesso, o servidor SSH buscará a chave pública do host do cliente em um arquivo localizado em .ssh/authorized_keys no diretório home do usuário requisitado para o login. Caso a chave estiver armazenada no arquivo, o acesso se dará sem a necessidade de digitar a senha. Este método tem duas vantagens básicas. A primeira é a segurança, porque não existirá a possibilidade de ataques de força bruta tentando adivinhar a senha do usuário. Simplesmente, não existe a senha! A outra vantagem é a possibilidade de automatizar scripts para executar comandos em servidores remotos. Desta forma, a administração de múltiplos servidores fica muito mais fácil e ágil.
Ao acessar um servidor remoto por meio de SSH, a interação do usuário será por meio de um interpretador de comandos em modo texto. Portanto, conhecer os comandos e os parâmetros  do Linux ou do Windows é extremamente útil.
 A porta padrão do serviço de SSH é a 22. Devido ao grande número de varreduras nesta porta, é interessante trocar esta porta em servidores que estejam visíveis com IP públicos. Existem formas de minimizar as tentativas de adivinhações de usuários/senhas. Um delas é o uso de chaves ao invés de senhas. A outra é usar alguma ferramenta de detecção de tentativas e bloqueio da origem. A ferramenta DenyHosts (http://denyhosts.sourceforge.net/) possibilita que a origem das tentativas de acesso mal sucedidas sejam bloqueadas por um tempo configurado.
Abaixo, um exemplo de conexão SSH usando o cliente código-fonte aberto de SSH Putty para Windows. No Linux, o nome do cliente de SSH é "ssh".



Vale a pena dar uma olhada neste tutorial sobre a configuração do SSH para funcionar com certificados.
O SSH é a ferramenta mais utilizada no gerenciamento de servidor Linux e FreeBSD. Portanto, dominá-la é muito importante para o profissional de redes!

Referências:

The Secure Shell (SSH) Protocol Architecture
Introduction to SSH Secure Shell
Criando tuneis criptografados com ssh 
Usando o SSH no Windows

quarta-feira, 10 de março de 2010

Comandos no Linux...

Para saber sobre comandos no Linux acessem o guia FOCA neste link aqui. Este guias são bastante completos e com enfoque no usuário iniciante. O link original dos guias é este http://focalinux.cipsga.org.br/, onde pode ser feito o download do texto.
 Para aprender sobre o Linux, tem que praticar!

domingo, 7 de março de 2010

Switches Ethernet...

O primeiro switch ethernet foi lançado no mercado pela empresa Kalpana (que foi adquirida pela Cisco em 1994) no ano de 1989, ao custo de U$ 10.500 com 7 portas. Desde a sua introdução, os switches ethernet revolucionaram a forma como as redes locais são utilizadas.
Os switches ethernet são comutadores que permitem o compartilhamento de sinal em uma rede padrão Ethernet (IEEE 802.3 e suas variações). Este compartilhamento se dá de forma segmentada, ou seja, cada porta do switch disponibiliza a largura de banda de forma integral não havendo disputa entre hosts. Este fato tem o nome de "domínio de colisão" que significa inexistência de colisões na porta do switch. As colisões ocorrem em um meio compartilhado usando um hub ou barramento com cabos coaxiais. Também existem colisões no compartilhamento de canais em bases de rede sem fios. Nestes casos com colisões é necessário que exista algum método de controle de acesso ao meio físico. No caso de redes padrão Ethernet, é utilizado o algoritmo CSMA/CD (Carrier Sense Multiple Access with Collision Detection).
 Portanto, a grande vantagem dos switches ethernet para os hubs ethernet é a inexistência de colisões na portas. Desta forma, o desempenho de uma rede com switches é muito maior do que usando hubs. Atualmente, é muito difícil encontrar hubs no mercado. Devido ao custo reduzido dos switches e seu melhor desempenho, as redes ethernet DEVEM usar apenas switches.
 Os switches podem ser divididos em duas categorias básicas: gerenciáveis e não-gerenciáveis. Os gerenciáveis possibilitam o gerenciamento por meio de software de forma remota e são mais caros que os não-gerenciávies.  Os não-gerenciáveis são mais baratos, mas não possibilitam o gerenciamento tornando a administração da rede bem mais complexa. Em um switch gerenciável é possível visualizar o quanto de tráfego de rede está sendo gerado em cada porta, garantir a segurança por meio de autenticação com RADIUS (Remote Authentication Dial In User Service), limitar a largura de banda em cada porta entre outras funcionalidades. O uso de switches não-gerenciáveis em redes que possuam mais de 10 computadores torna a vida do administrador bem mais difícil.
 Existem switches de vários preços e funcionalidades. Entretanto, todos tem, a mesma função básica que é permitir o compartilhamento entre os hosts em uma rede Ethernet. Então, para uma rede com 5 computadores que utilizam uma impressora compartilhada e acesso à Internet qualquer switch vai funcionar sem problemas. Já em uma rede com 400 hosts espalhados em vários prédios, a história será bem diferente. A empresa Cisco possui uma abordagem de projeto hierárquico de rede que ajuda a definir as características dos equipamentos. Na figura abaixo, o diagrama da abordagem da Cisco.


Abaixo, uma breve descrição de cada camada da hierarquia:

* Core (Núcleo) - esta camada é considerada o backbone (espinha dorsal) da rede e possui os switches de maior desempenho. Nesta camada não é feito o roteamento ou qualquer tipo de filtragem nos pacotes. A função principal é repassar os pacotes de forma confiável e o mais rapidamente possível. 

* Distribution (Distribuição) - nesta camada estão os roteadores e os switches/roteadores chamadados de switches layer 3 (camada de rede do modelo de referência OSI). Estes dispositivos devem garantir que os pacotes sejam roteados entre as subredes e as VLANs (Virtual Local Area Network) existentes na rede. Esta camada também é chamada de workgroup (grupo de trabalho).

* Access (Acesso) - nesta camada estão os hubs e switches que fornecem o acesso dos hosts dos usuários a rede. Também é chamada de camada desktop porque o objetivo é conectar os hosts dos usuários a redeT. A função deste camada é entregar os pacotes aos computadores dos usuários.

Esta diferenciação de funções em cada camada afeta diretamente a escolha do switch. Este é um dos motivos porque existem switches com o mesmo número de portas, mas um custa R$ 200,00 e outro custa R$ 20.000,00.
No diagrama abaixo, um exemplo de como a empresa Enterasys classifica os seus equipamentos de acordo com as camadas de hierarquia.

Algumas características importantes em um switch são:
  - Número de portas, normalmente 8, 16, 24 e 48 portas.
  - Largura de 19'' para colocar em rack 
  - Velocidade - os switches mais comuns funcionam em 10/100 Mbit/s. Entretanto, existem switches que funcionam em 10/100/1000 em todas as portas ou apenas em algumas portas. Por exemplo, 24 portas em 10/100 e duas em 1000. Neste caso, as portas de 1000 seriam utilizadas para cascateamento.
  - Autonegociação - detecta automaticamente a velocidade e o tipo de comunicação. Por exemplo, 10Mbit/s, Hakf-Duplex ou Full-Duplex, 100Mbit/s Half-Duplex ou Full-Duplex ou Gigabit;
  - Auto MDI/MDIX (Media Dependent Interface) detecta automaticamente se o cabo é direto ou crossover facilitando a conexão para cascateamento entre switches;
  - Gerenciável ou não gerenciável - se gerenciável, o switch permite a utilização de ferramentas de gerenciamento e configuração, tais como a utilização de VLANs, segurança nas portas, QoS, espelhametno de portas, trunking e STP (Spanning Tree Protocol). O não-gerenciável não possibilita nada de administração.
 - Empilhável (Stackable) - permite que sejam "empilhados" switches tornado a ligação transparente resultando em um desempenho melhor. Ao cascatear dois switches usando portas normais, a largura de banda na ligação entre eles será o da porta. No caso de empilhamento, a ligação se dá por um cabo especial, normalmente proprietário. Isto faz com que os switches se comportem como se fossem um único dispositivo. Desta forma, o efeito é como se conectasse o backplane dos switches diretamente. A velocidade de comutação é muitas vezes maior do que a ligação por portas normais.
- PoE (Power over Ethernet) - esta funcionalidade permite que dispositivos sejam alimentados por corrente elétrica por meio das portas dos switches e dos cabos par trançado. O objetivo é alimentar telefone IP ou base de acesso a redes sem fios que estejam em lugares de difícil acesso, tais como no alto de torres.
 - Slots GBIC (Gigabit Interface Converter) - são portas de expansão, utilizadas principalmente para a colocação de módulos para conexão de fibra ótica. Como o nome diz, são usadas conexões gigabit nestas portas.
- Capacidade de endereços MAC - define o número de dispositivos que podem ser diferenciados em um switch. Todo o quadro que chega a uma porta de um switch será confrontado com a tabela MAC. Se houver a ocorrência, o quadro é enviado a porta correspondente. Se não houver correspondência, é feita uma transmissão em broadcast. Portanto, se a tabela foi preenchida o broadcast vai rolar solto!
- QoS (Quality of Service) - os switches permitem a diferenciação de tráfego em suas portas. Isto é importante para priorizar determinado tipo de tráfego, tal como o de VoIP (Voice over IP), qie é extremamente sensível a perdas e atrasos na rede.

Alguns exemplos modelos de switches de 24 portas são mostrados a seguir.

 



 

  

Este catálogo da Cisco, mostra diversos modelos de switches da série Catalyst com diversas funcionalidades que vale a pena dar uma olhada!
Comentem a respeito de modelos e fabricantes os quais vocês possuem switches e digam quais as suas experiências com eles.


Referências:
Kalpana - http://en.wikipedia.org/wiki/Kalpana_%28company%29
The 10 Most Important Products of the Decade - Number 5: Kalpana  EtherSwitch - http://www.networkcomputing.com/1119/1119f1products_5.html
Netwok Computing: The 10 Most Important Products of the Decade - http://www.networkcomputing.com/1119/1119f1products_1.html
Extreme Networks -  http://www.extremenetworks.com/
Linksys - http://www.linksysbycisco.com/LATAM/pt/products/Switches
Netgear - http://www.netgear.com/Products/Switches.aspx
Enterasys - http://www.enterasys.com/products/index.aspx
Switches Gigabit Ethernet Dell PowerConnect série 28xx
Planet - http://www.planet.com.tw/en/product/product_category.php?mt=menu_product_1&id=1
TrendNet - http://www.trendnet.com/products/default.asp?cat=43

sexta-feira, 19 de fevereiro de 2010

Livro de Python em Português, gratuito...

Neste link http://ark4n.wordpress.com/python/  está disponível para download o livro "Python para desenvolvedores Segunda edição – revisada e ampliada" de Luiz Eduardo Borges. Este livro está sob a licença da Creative Commons e permite o download sem necessidade de pagar por isto. Recomendado!

sexta-feira, 5 de fevereiro de 2010

Truecrypt - protegendo partições e pastas...

Com o uso cada vez mais comum de computadores portáteis e pendrives torna-se importante a proteção dos dados armazenados nestes dispositivos. O roubo de notebooks tem crescido muito desde redução do custo incentivado pelo governo brasileiro e pela grande concorrência entre os diversos fabricantes deste tipo de equipamento. A portabilidade que um notebook fornece é a maior causa de preocupação em relação ao roubo e vazamento de informações corporativas e pessoais. Imaginem um funcionário de uma empresa que tem o seu notebook de trabalho perdido e que armazena dados sigilosos de algum projeto. Qual o valor do notebook? Digamos que seja um notebook dos mais caros, portanto cerca de R$ 12.000,00. É um prejuízo grande, mas e se os dados a respeito do projeto sigiloso contidos no notebook no qual  haviam sido investidos R$ 50 milhões no desenvolvimento,  cair na mão do concorrente ou for divulgado na Internet? Qual seria o prejuízo?
Uma forma equivocada de proteção em relação a notebooks é achar que a senha da BIOS ou do sistema operacional vai resolver o problema. Basta o boot com um livecd rodando Linux para obter acesso aos dados do disco rígido. Se estes dados estiverem criptografados, a história é bem diferente. Neste caso,  o notebook seria perdido junto com os dados tanto para o dono quanto para o ladrão!
 Um outro caso é sobre a utilização de pen drives (flash drives). Por ser uma mídia removível de leitura e escrita os problemas com roubo, perdas e vírus são comuns. Não faz muito tempo o problema estava no uso de disquetes que tinham os mesmos problemas. A "vantagem" do disquete era que a capacidade de armazenamento era pequena (para saber mais sobre o disquete acesse este link aqui). Hoje em dia, são comuns pen drives de 4GB ou maiores ao preço bastante baixo. Quantas vezes você perdeu ou esqueceu um pen drive? Aposto que foram algumas vezes...
  Portanto, dados armazenados em mídia removível e notebooks são alvos comuns de brechas de segurança. Houve um caso em Pelotas de um professor que teve a sua casa arrombada e foi levado o notebook onde continham diversos dados importantes e, infelizmente, não havia backup destes dados. Para tentar recuperar os dados que estavam no notebook, o professor ofereceu uma recompensa que valia tanto quanto o próprio notebook. Não obteve sucesso e acabou ficando sem o notebook e principalmente, sem os dados. Então, a primeira lição é fazer backup do dados e de forma periódica! A segunda lição é proteger o acesso aos dados em casos de perda do notebook ou do pen drive. Uma das formas de fazer isto, usando o Linux, é criptografando a partição ou o disco inteiro. Nas distribuições atuais, estas opções são disponibilizadas na instalação do sistema operacional. No Windows, existe o EFS (Encrypting File System) que fornece recursos para proteger  arquivos, pastas e partições. O problema de usar um método que só funciona no Linux ou no Windows é a incompatibilidade. Por exemplo, um pen drive que utiliza criptografia e foi gravado no Windows não poderia ser lido no Linux. Para resolver este problema, uma solução é utilizar o Truecrypt que é uma ferramenta de código fonte aberto e possui versões para Windows e para Linux. A utilização desta ferramenta é bastante simples. No Windows, a instalação é do tipo "Next", conforme a figura abaixo.

A ferramenta instala um driver que fornece o acesso aos dados criptografados. Portanto, no caso de pendrives, quando for necessário ler os dados criptografados em alguma máquina deverá estar instalado o Truecrypt para isto poder acontecer. Neste exemplo, foram utilizadas as opções de criptografia para a criação de pastas (chamadas de containers) e em uma partição inteira. No caso das pastas, deve ser criado um arquivo que funcionará como um disco virtual. Este disco virtual será identificado no sistema por uma letra, tal como um drive comum. A diferença é que o conteúdo deste disco virtual estará armazenado em apenas um arquivo. A ideia é similar aos discos utilizados no VMWare, ou seja, uma arquivo que faz o papel de um disco rígido. Neste caso, foi criado um arquivo vazio com o nome de cripto.dat. No Truecrypt, foi selecionada a criação de um volume e selecionado o arquivo para ser o repositório. Na verdade, o arquivo tem a função de ser um manipulador da área de armazenamento criada dentro do Truecrypt. Na figura abaixo, estão os passos para a criação da área de armazenamento criptografado.
1 -Tela inicial do TrueCrypt. Clicar em "Create Volume".
2 -Escolher a criação de um "Container" (semelhante a uma pasta).
3 - Escolher a opção "Standard Truecrypt volume".
4 - Criar um arquivo vazio para servir como container. Usar no prompt o comando "copy con arquivo.dat" e a combinação de teclas CTRL+Z. Qualquer arquivo pode ser usado para esta função, mas o conteúdo do mesmo será sobrescrito. Portanto, é mlehor criar um arquivo vazio para esta função.
5-  Selecionar o arquivo criado na figura 4.
6 - Selecionar as opções de criptografia. Usar a padrão.
7 - Selecionar o tamanho do container. Este tamanho funciona como o espaço disponível para armazenar as pastas e arquivos de forma criptografada.
8 - Definir a senha que será solicitada toda a vez que for montado o container. Aqui deve ser escolhida uma senha forte.
9 - Definir qual o sistema de arquivos que será utilizado no container.
10 e 11 - Após a formatação, o container estará pronto para a utilização.
12 - Para ter acesso ao container, antes ele deverá ser montado. Para isto, deve-se selecionar umna letra de drive, escolher o arquivo criado na figura 4 e clicar em "Mount".
13 - Será requisitada a senha para a montagem ser feita.
14 e 15 - Para acessar o armazenamento criptografado, deverá ser acessada a letra do drive montado. No exexemplo da figura, a letra utilizada foi a E. Portanto, o drive E corresponde a área de armazenament de 30 MB de capacidade. Após isto, o uso é normal.


Para criptografar uma partição, os procedimentos são parecidos aos da criação de containers. Na figura abaixo, os procedimentos relacionadas a proteção de partições.




1 -Tela inicial do TrueCrypt. Clicar em "Select Device". Aqui serão mostrados os dispositivos que poderão ser usados.

2 -Escolher a criação de "Create Volume" e escolher a opção "Encrypt a non system partition/drive".
3- Será mostrado um aviso sobre os perigos desta operação. É recomendável fazer backup dos dados da partição. Neste exemplo, foi utilizada uma partição sem dados.
4- Confirmação do dispositivo.
5- Aqui é importante fazer a escolha com cuidado. A primeira opção irá formatar a partição e a segunda irá manter os arquivos e realizará a operação sem perdas. Façam backup!
6 e 7 - Definição do tamanho da partição e o sistema de arquivos a ser utilizado (NTFS ou FAT).
8 - Última chance antes da formatação da partição.
9 - Formatando a partição.
10 - Aqui um aviso sobre a impossibilidade de se usar a mesma letra de drive com o uso de criptografia. A letra do drive original era F, mas agora após a montagem poderá ser qualquer letra escolhida no Truecrypt.
11 e 12 - Escolhida a letra G como sendo o drive para acesso a partição criptografada, será requisitada a senha para a montagem. Sem a senha, não haverá como acessar mais os dados. Nem com um livecd com Linux...
13 - O drive F continuará aparecendo no Windows Explorer mas não será mais possível o acesso a não ser pela montagem com o Truecrypt. Após a montagem, o uso é normal.


Ainda é possível criptografar um disco inteiro ou a partição que contém o sistema operacional. Nesta opção, o Truecrypt exige que seja feito um backup em CD ou DVD da chave que dá acesso aos dados. É uma de recuperação em caso de falha no acesso ao sistema. Neste caso, ao dar boot no Windows será requisitada uma senha. Portanto, o sistema só irá inicializar após a digitação da senha ou colocação do CD com a chave. Esta modalidade é para os mais paranóicos!!!
Na prática, o Truecrypt pode ser usado em pendrives e notebooks para garantir que os dados importantes não sejam acessados por pessoas não autorizadas.

Referências:

Em três meses, houve 41 furtos no terminal aeroviário e em estacionamentos próximos
Tão pequeno e tão perigoso - A proliferação dos pen drives abre uma nova brecha nas empresas para os ladrões de informação
LAPTOP THEFT: A GROWING CONCERN FOR ORGANIZATIONS
Comparison of disk encryption software

sábado, 30 de janeiro de 2010

Ophcrack - Quebrando senhas do Windows...

A ferramenta Ophcrack possibilita a quebra de senhas em sistemas operacionais Windows 2000, XP, 2003, Vista e 2008. Utilizando um livecd disponível na página da ferramenta é possível descobrir a senha de algum usuário, principalmente do administrador. Esta ferramenta pode ser utilizada em casos onde o usuário esqueceu a senha ou houve alguma modificação de forma maliciosa (normalmente, algum funcionário descontente...).
 A quebra de senhas é baseada em tabelas chamadas de Rainbow. Estas tabelas são geradas por um método criptográfico que permite a comparação de hashes de dicionário de palavras com os hashes das senhas. Este método só é eficaz em sistemas Windows devido a não existir o chamado salt (bits aleatórios que adicionam mais uma camada de segurança aos hashes). As tabelas que possuem os dicionários de caracteres e palavras podem ser baixados aqui. Existem tabelas gratuitas e pagas. Existem tabelas com 134GB!!!

Será mostrado um exemplo de utilização com um livecd rodando Linux, versão ophcrack-xp-livecd-2.3.1, é um sistema operacional Windows XP. Existem dois tipos de livecd, um para Windows 2000, XP e 2003 e outro para Windows Vista e 2008. O livecd para Windows XP vem com a tabela "XP Free Small" que possui cerca de 380MB. Neste exemplo, foi utilizada uma máquina virtual com o Windows XP, 512MB, usando o VMWare. Se houver pouca memória, deve-se utilizar a opção "Low RAM" no menu de inicialização do livecd. Quanto mais memória e processamento, mais rápida a quebra de senha.
Foram criados diversos usuários com senhas variadas. No final do ano passado foram divulgadas senhas utilizadas em serviços tais como Hotmail e Myspace e a senha mais utilizada era "123456". Aqui e aqui o restante das senhas mais utilizadas.
 O primeiro passo é dar boot com o livecd.
 
Tela de boot do livecd

 
Escolher qual partição possui as senhas. Aqui deve ser escolhida a partição raiz do Windows (normalmente, o drive C:). Neste caso, existem dois discos rígidos, o primeiro (partição 0) é o drive C: no Windows.

 
Depois de escolhida a partição,  a ferramenta irá listar todos os usuários do Windows e começará a quebra de senha. Reparem que em menos de 30s, a senha "123456" foi quebrada!
 
Durante o processo de quebra, é possível acompanhar estatísticas e gráficos sobre o andamento das tentativas.

Em menos de 3 minutos, todas as senhas fáceis haviam sido quebradas.

Depois de 10 minutos, somente a senha do usuário Nessa não foi quebrada. Talvez com um table comercial, pudesse ter tido mais sorte...

Os usuários do Windows, com as suas respectivas senhas

Em resumo, a ferramente funciona de forma extremamente rápida para senhas fracas e pode ser bastante útil no caso de haver problemas com trocas de senhas maliciosas, esquecimentos ou aquela velha história "..foi um cara que instalou o sistema e atualmente está no Nepal, incomunicável, em um monastério..."
Agora, façam os testes com a ferramenta e comentem sobre os resultados encontrados!

segunda-feira, 25 de janeiro de 2010

Hardware de servidores

Os computadores servidores levam este  nome devido a prestação de algum serviço em rede. Lógicamente, os serviços serão disponibilizados para os clientes acessarem. Devido a necessidade de possuir constante disponibilidade (do termo em inglês availability) o hardware e o software dos servidores devem ser confiáveis para que isto aconteça. O software é um componente extremamente complicado em relação a confiabilidade. Devido a complexidade cada vez maior, só para dar um exemplo o código-fonte do Linux possui hoje mais de 10 milhões de linhas de código, é praticamente impossível obter um código de software infalível. Existem diversas técnicas que ajudam nesta tarefa, tal como diversidade de código e votação, mas não são comuns em softwares utilizados atualmente. Na área da computação o estudo deste conteúdo se dá na disciplina de Tolerância à Falhas. Para quem quiser saber mais sobre o assunto um link interessante é este aqui.
Em relação ao hardware, para aumentar a disponibilidade a chave é a redundância (duplicação, triplicação,...) de componentes. Por exemplo, fontes redundantes são utilizadas em servidores para o caso de a fonte de alimentação falhar, haverá outra para assumir o lugar. A grande vantagem é que este chaveamento  acontece de forma automática, não requisitando intervenção humana.
 Um dos maiores erros é achar que qualquer computador pode ser um servidor. É importante salientar que grande capacidade de memória e processamento não são sinônimos de confiabilidade e disponibilidade, características principais de servidores. Claro, um servidor deve estar dimensionado em relação a memória e processamento de acordo como o serviço que vai prestar. Entretanto, as características de um servidor são diferentes de mais comuns devido a necessidade de serem confiáveis. Bom, que dizer então que nunca deve-se usar máquinas comuns como servidores? Bem, na prática isto acontece bastante devido ao custo de servidores e da pouca importância dispendida em infraestrutura de TI pela empresas de pequeno e médio porte. Aqui fica outra pergunta: Será que o tempo que o servidor fica parado, sem fornecer acesso aos arquivos, aplicações e banco de dados da empresa,  não é custo?

Os serviços mais comuns em redes locais são: servidor de arquivos, impressoras, banco de dados, páginas (www) e aplicações (sistemas administrativos). Para cada um destes serviços haverá a necessidade de dimensionar o hardware baseado no número de clientes e nos recursos exigidos pelo software. Portanto, quando houver a necessidade de aquisição de um servidor o principal parâmetro para a escolha é a carga que será gerada pelos clientes. Por exemplo, um hardware que será utilizado para um banco de dados com 10 clientes não será o mesmo para 1000 clientes.

Estudo de caso

Será feito um exercício de dimensionamento de hardware de servidores de dois fabricantes diferentes: Dell e  IBM. Neste servidor, será instalado um servidor para a intranet de uma empresa fictícia, neste exemplo chamada de Acme Ltda. A intranet da empresa Acme roda várias aplicações que utilizam banco de dados,  servidor de páginas com páginas dinâmicas com PHP e sistema operacional Linux. O número de usuários que acessam a intranet de forma concorrente são cerca de 150. O consumo de memória médio no servidor para cada cliente é de 10 MB. A capacidade de processamento estimada pelos desenvolvedores do sistema da intranet é de, pelo menos, um processador com 4 núcleos. Este tipo de informação imprecisa  é bastante comum de acontecer e geralmente o parâmetro é a comparação com outros lugares que utilizam o mesmo sistema. Outro fato bastante comum é o superdimensionamento requerido pelos autores do sistema. Algumas vezes os problemas de lentidão nas respostas do sistema são mascaradas com uma grande capacidade de processamento e memória. Aqui fica o aviso, um loop infinito só rodará mais rápido, no caso da cpu ter maior capacidade!
A partir destes dados, será feito o dimensionamento do hardware para comportar este sistema. O primeiro modelo é um IBM com a seguinte configuração:

Fabricante: IBM
Modelo: x3400 M2
Configuração padrão
Link para o configurador
Valor da configuração: R$ 12.594,25
Garantia: 3 anos
Resumo da configuração



Fabricante: Dell

Modelo: T100
Configuração padrão

Link para o configurador
Valor da configuração:R$ 7.711,00
Garantia: 3 anos (para 5 anos + R$ 191,00)
Resumo da configuração




Qualquer uma destas configurações atenderiam perfeitamente o sistema de intranet atual com folga e teria a capacidade de acompanhar o crescimento do sistema por um bom tempo. Mas porque o custo é tão elevado? Um dos culpados é a unidade de fita para backup. Eu coloquei na configuração para chamar a atenção da importância de fazer backups em mídias removíveis, testar as fitas e, principalmente, guardar em lugar apropriado e seguro. Hoje em dia, é mais barato realizar os backups em disco utilizando um servidor de backups. Me um próximo post no blog eu vou falar sobre uma forma de fazer isto. Vale a penar analisar o tempo de garantia de ambos os servidores 3 anos de garantia e no caso da Dell por mais R 191,00 é possível aumentar para 5 anos. Só este fato já seria uma segurança para quem vai depositar os dados da empresa nestes equipamentos.
Outro fator interessante é a presença de controladora RAID (Redudant Array of Independent Disks). Esta controladora permite que discos comuns sejam configurados de forma a proverem replicação de dados (espelhamento). Neste caso, o sistema operacional vai visualizar apenas o espaço de um disco. O outro disco será um espelho. Em caso de problema no disco principal, todos os dados estarão gravados no segundo disco. Isto se dará de forma automática, por isto a controladora RAID possui um custo elevado. O tipo de RAID que faze o espelhamento é conhecido como RAID 1. Para saber mais sobre RAID acesse este link aqui.
Só o fato de se encaixarem na categoria de servidores, as fontes de alimentação, os gabinetes e a refrigeração destas máquinas garantem que não haverá superaquecimento. Entretanto, é recomendável armazenar estas máquinas em um ambiente com climatização e com acesso restrito. Em empresas pequenas é bem complicado disto acontecer, mas o acesso físico a um servidor por pessoas não autorizadas pode ser desastroso! Uma sala fechada, com ar-condicionado e um no-break  já é o suficiente para garantir o mínimo de condições de trabalho para os servidores.
Como uma brincadeira, fiz a cotação de um servidor com o máximo de redundância possível:



Como pode ser visto, maior confiabilidade maior o custo! Isto deve ser avaliado de acordo com a natureza a empresa, por exemplo um hospital ou aeroporto, onde existe o risco de morte no caso de sistemas não disponíveis.
 Em resumo, computadores comuns como servidores é sinônimo de problemas em breve. A única coisa certa em relação a discos rígidos e fontes de alimentação é que vão dar pau, a dúvida é quando!
  Os links abaixo apontam para alguns vídeos de datacenters (sala dos servidores) de algumas empresas e sobre os servidores do Google que são máquinas comuns, mas são 450.000!!!

Links:
Hardware de Servidores - Guia do Hardware
Google revela os segredos do hardware de seus servidores (Português) e (Inglês)
Google First Production Server @Computer History Museum
Inside A Google Data Center
Google's Web Servers, Revealed
Microsoft OS Cloud Windows Azure Data Center
Data center tour: Equinix
Tour Oracle's Austin Data Center

sábado, 23 de janeiro de 2010

Streaming de vídeo com o VLC (VideoLAN Player)...

VLC - VideoLAN Player é um software de código-fonte aberto, estando disponível para Windows, Linux, MacOS, FreeBSD e outros sistemas operacionais. Ele permite a reprodução de diversos formatos de áudio e vídeo, além da conversão entre vários formatos de arquivos.
Uma função interessante do VLC - VideoLAN Player é o streaming de vídeo. O streaming é o envio da informação em um fluxo, diferente do envio por rajadas que é a forma utilizada no protocolo HTTP,  por exemplo. Na figura abaixo, estão demonstrados os estágios de uma transmissão por streaming.

Para criar um fluxo de vídeo no VLC, deve-se possuir algum arquivo de vídeo ou DVD de filme (é possível fazer o streaming originando de webcam ou microfone também!). O VLC funciona como servidor e cliente, bastando apenas selecionar a configuração desejada. Como servidor, a função será gerar o streaming a partir de alguma fonte. Neste caso, será usado um arquivo de vídeo.
 
Escolher a opção "Fluxo"
 
Clicar em "Adicionar" e escolher o arquivo de vídeo
 
 Na opção Destinos, selecionar o protocolo HTTP e clicar em Adicionar.
 
Em “Opções de Transcodificação” podem ser selecionados os codificadores a serem utilizados no envio do streaming (fluxo) de vídeo. Deixar o padrão e clicar em Próximo.
 
 Marcar as opções conforme a figura.

Após pressionar o botão "Fluxo" deverá estar sendo gerado o streaming de vídeo e o VLC ficará no aguardo dos clientes. 

Nos clientes, o procedimento é o seguinte:


 Selecionar a opção “Abrir Fluxo de Rede”.
 
Selecionar  o protocolo HTTP e o IP e a porta utilizados pelo servidor.
Após pressionar o botão "Reproduzir" deverá aparecer o vídeo no VLC. É interessante verificar o quanto de largura de banda está sendo consumida nesta transmissão. Para isto, pode ser utilizada a ferramenta Netmeter que já foi comentada neste blog ou o próprio Wireshark. A partir daqui, pode-se modificar os tipos de codificadores para verificar a relação de consumo de largura de banda e qualidade do vídeo. Além disto, pode-se observar o atraso inserido na codificação, compressão e transmissão do vídeo analisando o vídeo na origem e no destino.
 Bom, agora é com vocês!



Referências:
Avaliação de transmissão de fluxo contínuo de vídeo em redes IP sem fio Padrão IEEE 802.11b e 802.11g
Wiki do VideoLAN

segunda-feira, 18 de janeiro de 2010

Clonezilla (parte 2)...

Clonando a partir de uma imagem do sistema


A imagem do sistema pode ser armazenada localmente em uma partição criada para isto ou pode ser armazenada em um servidor na rede. No primeiro caso, em máquinas onde os usuários estão constantemente 
"destruindo" o sistema operacional bastaria restaurar a imagem com as aplicações e configurações feitas na última instalação da máquina. O tempo para a restauração será reduzido em algumas horas! O outro caso é o de armazenamento em um repositório remoto. O Clonezilla aceita as seguintes formas de comunicação com o servidor remoto:  SSH, NFS ou SMB.
Neste exemplo será mostrado o método utilizando um servidor de NFS. Os outros métodos são similares.
Primeiro, será instalado o servidor que servirá de repositório para as imagens. Foi usado o Ubuntu Server 9.04 rodando de forma virtualizada com o VmWare 2. Para instalar o Ubuntu Server, é direto, sem muito mistério. Foi utilizado todo o disco para instalação do servidor, mas se houver a necessidade de dual boot com Windows a história é um pouco diferente. Recomendo a leitura de algum dos livros sobre Linux de Carlos Morimoto disponíveis em http://www.guiadohardware.net/livros/. 
Após o boot pelo CD-ROM, a instalação está representada na imagem abaixo:



Para instalar o servidor de NFS, deverão ser feitos os seguintes comando na console:
sudo su -
(aqui deverá ser digitada a senha escolhida na instalação do Ubuntu Server)
apt-get install nfs-common
apt-get install nfs-kernel-server 
(para baixar e instalar o serviço de NFS)
No servidor, deverá ser criado o diretório /home/partimag com os seguintes comandos:
sudo su - 
(aqui deverá ser digitada a senha escolhida na instalação do Ubuntu Server)
mkdir /home/partimag
(para criar o diretório /home/partimag)
chmod 777 /home/partimag
(para dar permissões de escrita no diretório)

Após isto, deverá ser configurado o serviço de NFS editando o arquivo /etc/exports da seguinte forma:
/home/partimag 192.168.254.0/24(rw,async)
(esta configuração faz com que todos os hosts da rede 192.168.254.0/24 possam acessar o compartilhamento. Aqui o endereçamento vai depender da rede onde for instalado o servidor)
Feito isto, deverá ser reiniciado o serviço de NFS da seguinte forma:
/etc/init.d/nfs-kernel-server restart

 Desta forma, as imagens geradas no Clonezilla serão armazendas em /home/partimag no servidor.
O processo para gerar uma imagem do sistema e armazená-la no servidor está representada na montagem abaixo:

1 - Escolher a criação de uma imagem a partir de um dispositivo (device-image).

2 - Escolher salvar o disco inteiro como imagem. Aqui poderia ser escolhida a geração de uma imagem a partir de uma partição do disco (opção savedisk).

3 - Escolher o servidor utilizando NFS.

4 - Escolher endereçamento IP automático (DHCP) ou estático (manualmente configurado).

5 - Digitar o IP do servidor de NFS.

6 - Escolher a versão do NFS (optar pela versão 2 ou 3 que são mais comuns).

7 - Confirmar o diretório compartilhado no servidor (deixar o padrão /home/partimag).

8 - Mensagem de confirmação de acesso ao diretório /home/partimag.

9 - Escolher de qual disco rígido será feita a imagem. Neste caso, o computador tem dois discos. O Clonezilla utiliza a denominação de dispositivos de armazenamento do kernel 2.6.x do Linux, sendo o sda o primeiro disco, sdb o segundo e assim por diante.

10 -Processo de geração da imagem em andamento. Neste momento, deverão estar sendo gerados arquivos contendo a imagem do disco no /home/partimag do servidor. É possível modificar o nome padrão da imagem para algo mais fácil de se lembrar, algo do tipo "imagem-notebook-2010"


Para restaurar uma imagem do servidor o procedimento é o da imagem abaixo:

1 - Escolher a criação de uma imagem a partir de um dispositivo (opção device-image)

2 - Escolher salvar o disco inteiro como imagem. Aqui poderia ser escolhida a geração de uma imagem a partir de uma partição do disco (restoredisk).

3 - Escolher o servidor utilizando NFS, escolher endereçamento IP automático (DHCP) ou estático (manualmente configurado)

4 - Digitar o IP do servidor de NFS

5 - Escolher a versão do NFS (optar pela versão 2 ou 3 que são mais comuns)

6 - Confirmar o diretório compartilhado no servidor (deixar o padrão /home/partimag)

7 - Mensagem de confirmação de acesso ao diretório /home/partimag

8 - Escolher de qual imagem armazenada no servidor será restaurada.

9 - Escolher qual o disco rígido será feita a restauração da imagem. Neste caso, o computador tem apenas um disco. O Clonezilla utiliza a denominação de dispositivos de armazenamento do kernel 2.6.x do Linux, sendo o sda o primeiro disco, sdb o segundo e assim por diante.

10 -Processo de restauração da imagem em andamento. Neste momento, deverão estar sendo restaurados os  arquivos contendo a imagem do sistema no servidor para o disco rígido local.

11 - Mensagem de término com sucesso da restauração da imagem. Agora, ao reinicar o computador o mesmo deverá conter a mesma instalação da imagem.


Agora, realizem testes com o Clonezilla utilizando imagens e um servidor como repositório!

Utilitários interessantes de rede (parte 2)...

TCPDUMP
Analisador de tráfego em rede clássico. Esta ferramenta é bastante importante para resolver problemas de rede em hosts com Linux. A sua utilização se dá em linha de comando e os arquivos salvos das capturas podem ser analisados com a ferramenta Wireshark. Ao ser executada sem parâmetros, o padrão é capturar os primeiros 64 Bytes de cada pacote (que é suficiente para analisar os cabeçalhos dos pacotes). Para capturar o conteúdo dos dados, deverá ser aumentado a quantidade de Bytes a serem capturados. O parâmetro para isto é o "s" (snarf) que pode ser usado da seguinte forma para capturar todo o conteúdo dos pacotes e salvá-los em um arquivo para posterior análise no Wireshark:

tcpdump -i  (interface de rede) -s 0 -w (caminho do arquivo de gravação da captura)
Exemplo: tcpdump -i eth0 -s 0 -w /tmp/arquivo.cap

Outra forma de usar o tcpdump é para monitorar determinado tráfego em alguma interface de rede. Por exemplo, um determinado host de IP 192.168.13.5 não está conseguindo acessar o banco de dados PostgreSQL instalado em um servidor Linux com o IP 192.168.2.1. Neste servidor, poderia ser dado o seguinte comando para verificar se as conexões geradas pelo host estão sendo recebidas:

tcpdump -i eth0 port 5432 and proto tcp and host 192.168.13.5
Na tela da console, apareceria algo do tipo

A - data e hora da ocorrência do pacote na interface de rede
B - IP e porta do host que está enviando os dados
C - IP e porta do host que está recebendo os dados
D - quantidade de Bytes no pacote (máximo de 1460 no caso de TCP)

Para saber mais sobre como usar o TCPDUMP, acessem este guia rápido (PDF em inglês) aqui.
Outra alternativa aqui.

WIRESHARK
(http://www.wireshark.org)
Captura e analisa tráfego de rede. (Win/Linux)


JPERF (http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz/download)
Gerador de tráfego para testes de redes. (Win/Linux)

TCPVIEW
(http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx)
Visualizador de conexões no host (Win).


NETMETER
(http://superdownloads.uol.com.br/download/132/netmeter/)
Monitorar o uso de largura de banda (Win).


 GFI LANGUARD
(http://www.gfi.com/lannetscan/free-network-security-scanner)
Ferramenta que realiza varreduras na rede em busca de hosts e vulnerabilidades. É um software comercial, entretanto existe uma versão freeware para 5 endereços IP (Win). É posssível fazer o download de uma versão anterior do Languard que é freeware sem restrições no número de IPs para a varredura. O link é este aqui.


Alguns sites com ferramentas de rede online;
Network Tools - http://network-tools.com/  
Visual Traceroute - http://visualroute.visualware.com/ 

Lista das 100 melhores ferramentas de rede e segurança - http://sectools.org/