Cheops: uma ótima ferramenta de rede

Autor: Luiz Vieira <ala_vieira at ig.com.br>

O que é o Cheops

Cheops (lê-se "quí-ops") é um "canivete suíço" para redes e
pode ser usado para diversas necessidades. É uma combinação de
variedades de ferramentas de rede para prover uma interface simples aos
usuários e administradores de sistemas para um gerenciamento e acesso
da sua rede.

Características:

  • descoberta de hosts;
  • identificação dos Sistemas Operacionais das máquinas;
  • uso de DNS e ICMP;
  • monitoria de rede;
  • interface com SNMP.

De fato, Cheops foi categorizado como um sistema de
gerenciamento de redes, na mesma categoria que alguns colocariam o HP
Openview ou Scotty (também conhecido como Tkined; um ótimo e livre
monitor de redes, mas já um pouco ultrapassado). Note que apesar deste
programa não prover tantas funções quanto os programas citados, ele
possui uma interface mais amigável e está ainda em desenvolvimento
(portanto, melhores funções podem ser adicionadas posteriormente).

Cheops precisa ser executado como usuário root, pois como
default não é instalado com setuid. Você até pode usar o setuid, mas
haverá (muito provavelmente) bugs que poderão comprometer a segurança
da sua rede. A execução como superusuário é necessária pois precisa de
sockets "raw" para a coleta de identificadores (fingerprinting) com
TCP/IP.

Porém ele não foi projetado para ser uma ferramenta de ataque,
e você não deve usá-lo para explorar domínios que não tenha autorização
de acesso. Saiba que o Cheops não é "invisível" e ao usá-lo em uma
conexão remota, estará visível o que você está fazendo!

Linux: Cheops: uma ótima ferramenta de rede

Instalação do Cheops

O Cheops pode ser instalado pelo código fonte ou por pacotes pré-compilados para cada distribuição. Nesse artigo usaremos o Debian Linux como base.

As versões mais novas do Cheops podem ser encontradas em: ftp://ftp.marko.net/pub/cheops

Para as distribuições derivadas do Red Hat, podemos
fazer o download do pacote "cheops -<versão>.rpm" pela Internet
ou usar o aplicativo "YUM" para instalar através de um repositório
compartilhado.

Maiores informações sobre o "YUM" podem ser encontradas em: http://linux.duke.edu/projects/yum/

No Debian podemos fazer o download do pacote cheops_<versão>.deb ou instalar pelo "apt-get".

Apesar de podermos instalar pelo código fonte, aconselhamos
mais uma vez que utilizem os pacotes pré-compilados para cada
distribuição.

Instalação do Cheops por apt-get

No Debian podemos instalar o Cheops pelo "apt-get". Este método é o
mais recomendado para usuários de distribuições derivadas do Debian.
Execute o comando abaixo como usuário root:

# apt-get install cheops

Isso instalará todos os pacotes necessários para rodar o Cheops
e, automaticamente, irá configurar o programa para rodar no seu
ambiente Debian.

Opcionalmente os pacotes ".deb" poderão ser obtidos individualmente. Você poderá obter os pacotes ".deb" no link abaixo:

Nesse site o código fonte também poderá ser obtido. Para
quem pretende instalar pelo código fonte (procedimento explicado
adiante), o site acima poderá ser usado para o download.

No caso de instalação manual por pacotes ".deb", devemos tomar
cuidado com os pacotes que o Cheops depende. O Cheops somente poderá
ser usado quando todas as dependências forem resolvidas.

Instalando Cheops pelo código fonte

O código fonte do Cheops pode ser obtido em ftp://ftp.marko.net/pub/cheops. Opcionalmente, recomendamos também os seguintes sites para fazer o download do Cheops:

Procedimento:

Descompacte o arquivo tar:

# tar -xzvf cheops_0.61.orig.tar.gz

Digite "./configure", posteriormente "make" e "make install" (opcional, mas recomendado).

Para acionar o suporte ao GNOME, adicione a opção "–enable-gnome" no comando "./configure".

O Cheops depende dos seguintes elementos para compilar e rodar. Garanta
que o seu sistema já tenha instalados os seguintes elementos:

Esquema:

<nome do pacote> ( <versão mínima do acote> ) [ <versões do sistema que provavelmente precisarão do pacote> ]
<Descrição do pacote>

  • libc6 (2.3.2.ds1-4) [não alpha, ia64]
    Biblioteca GNU C: bibliotecas compartilhadas e dados de tempo.
  • libc6.1 (2.3.2.ds1-4) [alpha, ia64]
    Biblioteca GNU C: bibliotecas compartilhadas e dados de tempo.
  • libgcc1 (1:3.4.1-3) [mips, mipsel]
    Biblioteca de suporte do GCC.
  • libglib1.2 (1.2.0)
    Biblioteca de rotinas C do GLib.
  • libgtk1.2 (1.2.10-4)
    Conjunto de widgets com ferramentas GIMP para o X.
  • libsnmp4.2 [amd64, i386]
    Bibliotecas NET SNMP (Simple Network Management Protocol).
  • libsnmp5 (5.1) [não amd64, i386]
    Bibliotecas NET SNMP (Simple Network Management Protocol).
  • libwrap0 [não amd64, i386]
    Biblioteca Wietse Venema’s TCP wrapper.
  • libx11-6
    Biblioteca para clientes de protocolos do X Window System.
    ou xlibs (4.1.0)
    Configurações e metapacotes do X Keyboard Extension (XKB).
  • libxext6
    Bibliotecas de extensão do X Window System.
    ou xlibs (4.1.0)
    XConfigurações e metapacotes do Keyboard Extension (XKB).
  • libxi6
    Biblioteca de extensão de entradas do X Window System.
    ou xlibs (4.1.0)
    Configurações e metapacotes do X Keyboard Extension (XKB).

Configurações do Cheops

Para configurar o Cheops você precisará fazê-lo na
barra de ferramentas da própria interface gráfica do programa. Para
isso acesse "File > Options". Será aberto um diálogo com abas e
várias checklists.

Abaixo há uma breve descrição de cada aba de configuração.

Features

Ativa/desativa funcionalidades do Cheops. Contém as configurações mais
gerais do programa. Para ativar/desativar as opções, simplesmente
marque a opção (clique na caixa de opções da esquerda).

1. Show more information in main window: estende a tela com um novo
campo que lista os hosts, redes e domínios mapeados no momento;

2. Determine what services a host supports: automaticamente determina quais serviços (como ping, ssh etc) o nó da rede oferece;

3. Trim hostnames when displaying them: automaticamente verifica o nome do host quando possível e o trunca quando necessário;

4. Determine the operating system of new hosts (queso): tenta verificar
automaticamente o sistema operacional da máquina na rede. Pode falhar;

5. Lookup hosts I add with reverse DNS: ativa a opção de DNS reverso (a opção fica visível);

6. When I map a host, add all hosts on the map to the viewspace: ao
mapear um nó na rede, tenta adicionar os nós mapeados por esse nó na
tela de exibição;

7. Use ICMP instaead of UDP for mapping: na hora do mapeamento da rede,
o programa passará a utilizar o protocolo ICMP para verificação de nós
existentes;

8. Only update the map drawing when I stop moving an object: ao
movimentar os nós no gráfico, as arestas somente serão atualizadas ao
parar de mover os nós correspondentes.

Memory

Trata os dados persistentes do Cheops, ou seja, configura se algumas informações serão armazenadas ou não.

1. Remember where I put all the hosts that I’ve moved: mantém
persistente as posições dos nós movidos por você, assim você não
precisará reorganizar os nós toda vez que fizer um "reload";

2. Remember all the hosts I’ve discovered: armazena informações sobre nós da rede que foram descobertos alguma vez;

3. Remember all the connections between hosts: armazena todas as associações entre os nós descobertos;

4. Remember all aliases for a host: armazenará informações sobre nomes alternativos do host.

Helpers

Aqui podemos escolher o terminal que o Cheops usará para executar os serviços oferecidos. O default é "xterm".

Services

Aqui, podemos adicionar, remover e editar serviços identificados pelo Cheops e como eles serão executados no terminal.

Por exemplo: como default, temos o "ping" e "ssh" já incluídos nesta
lista. Podemos aqui editar os parâmetros passados para estes programas
quando são executados pelo Cheops (quando selecionamos "ping" ou "ssh"
nas opções que surgem ao fazer um clique direito nos nós).

SNMP

Esta aba possui opções de controle do protocolo SNMP. Pode
ser usado para ativar ou desativar serviços de SNMP para mapeamento de
redes.

1. Use SNMP when discovering hosts: configura o Cheops para
usar o SNMP para a detecção de nós de rede. Isso agiliza a descoberta
de dispositivos como roteadores mais recentes, que basicamente utilizam
SNMP para notificação em redes;

2. Display SNMP errors: passa a mostrar as mensagens de erro que são causados por falhas do SNMP.

Monitoring

Esta aba configura opções relacionadas a monitoramento de redes, como notificações, definição de ações em caso de falhas etc.

1. Give a service this number of seconds to connect: indica o tempo
máximo de espera por uma conexão quando solicitado um serviço pelo
Cheops;

2. Immediately retry services that time out: quando ativo, reinicia o
serviço sempre que o tempo máximo de espera por um serviço for
superado;

3. Switch to viewspace with most recent failure: na tela gráfica, a aba
com nós que reportaram erros mais recentes estará selecionado
(visível).

Event Log

Mostra opções sobre registros de eventos, como e-mail de notificação e arquivos log.

1. Send e-mail to: indica o e-mail onde notificações de falhas serão automaticamente enviadas;

2. Logfile: indica o caminho do arquivo de log que armazenará registros de eventos (o botão Clear Log apagará seu conteúdo).

Funcionalidades do Cheops

Abaixo estão listadas algumas das funcionalidades providas pelo Cheops.

Suporte ao monitoramento

Cheops pode monitorar servidores
críticos e imediatamente nos notificar através dos seus logs de eventos
ou e-mails caso algo de errado ocorra. Saiba exatamente o que está
caído ou não e quando o problema ocorreu.

Linux: Cheops: uma ótima ferramenta de rede

Suporte integrado do SNMP

Cheops inclui um navegador SNMP
simples, que inclui capacidade de escrita, usando bibliotecas UCD SNMP.
Cheops também possui suporte aos plugins, incluindo o suporte aos
plugins SNMP.

Linux: Cheops: uma ótima ferramenta de rede

Configuração

Cheops permite configuração detalhada usando arquivos-texto e interfaces gráficas para edição de opções.

Linux: Cheops: uma ótima ferramenta de rede

Verificação de serviços

Cheops pode acessar e verificar
informações de determinados serviços (como versões). Garanta que os
servidores estejam sempre atualizados.

Linux: Cheops: uma ótima ferramenta de rede

Leitura geral de portas

Cheops inclui um leitor geral de portas TCP para verificar quais portas estão em uso na sua rede.

Linux: Cheops: uma ótima ferramenta de rede

Visualização múltipla

Em grandes diagramas, você pode usar
ícones menores ou simplesmente uma lista de nós da rede. Layouts podem
ser organizadas por domínio, nome, endereço IP etc. Mecanismos de busca
são suportados tanto na visão de lista quanto na visão de ícones.

Linux: Cheops: uma ótima ferramenta de rede

Serviços disponíveis

O clique direito do mouse rapidamente
mostrará uma lista de serviços comuns suportados pelo nó selecionado e
um meio fácil e rápido de acessá-los.

Linux: Cheops: uma ótima ferramenta de rede

Mapeamento

Cheops pode mostrar a rota de acesso a algumas áreas
de sua rede (projetado somente para grandes redes, com roteadores,
sub-redes etc). Esse mapeamento pode ser usado para simplificar a visão
de sua rede e detectar rotas irregulares. O Cheops ainda não detecta
automaticamente os nós remotos (ou seja, você precisa inserí-los
manualmente). O processo de associação entre os nós é automático.

Linux: Cheops: uma ótima ferramenta de rede

Busca

Encontre rapidamente os hosts em redes de grande escala.

Linux: Cheops: uma ótima ferramenta de rede

Detecção do Sistema Operacional

Cheops pode opcionalmente
determinar o Sistema Operacional dos nós encontrados na rede e mostrar
ícones apropriados para a sua identificação.

Linux: Cheops: uma ótima ferramenta de rede

Execução

Na linha de comandos, execute "cheops" (ou "./cheops" caso não
tenha executado o "make install" durante a instalação pelo código
fonte) como usuário root.

Lembre-se aqui que por causa da arquitetura de acesso à rede, o Cheops somente pode ser executado como usuário "root".

Exemplo de execução em linha de comando:

# cheops &

Exemplo de como definir e verificar a variável CHEOPS_HOME:

# CHEOPS_HOME=/usr/bin
# echo $CHEOPS_HOME

Opções do Cheops

Virtualmente, tudo é configurado via interface
gráfica. Após a descoberta dos nós de rede, o clique direito do mouse
mostrará uma lista de possíveis escolhas.

Cheops não utiliza parâmetros por linhas de comando, mas você
pode alterar a variável de ambiente HEOPS\_HOME para o local onde
Cheops procurará por seus ícones e arquivos de configuração. Plugins
são armazenados em diretórios dependentes do sistema (ex.
/usr/lib/cheops/plugins).

Interface do Cheops

A interface gráfica apresentada mostra uma
visão de nós disponíveis na rede; mostrando, se possível, o sistema
operacional com ícones distintos. O usuário pode selecionar um nó
qualquer e monitorar os processos locais. Adicionalmente, novas redes e
nós podem ser adicionados através do menu acima da tela de redes.

Linux: Cheops: uma ótima ferramenta de rede

O mecanismo das operações do cheops não é algo de novo:

  • Pacotes ICMP simples são usados para a busca inicial dos nós existentes na rede (ping);
  • São usados "Domain Name Transfers" para a listagem de nós no domínio (nslookup);
  • Detecção do Sistema Operacional é feito através do uso de flags inválidos em pacotes TCP (queso);
  • Detecção de portas é feita silenciosamente, utilizando
    conexões TCP semi-abertas para evitar o início de serviços
    desnecessários ou autenticações em máquinas remotas.(halfscan);
  • O mapeamento é feito usando-se pacotes UDP (ou opcionalmente ICMP) com valores pequenos de TTL (traceroute e mtr);
  • O monitoramento é feito usando-se seqüências comuns do
    connect(), usando-se estágios correntes centrados na rotina
    gtk_input_add.

Usando o Cheops

Inicialmente o programa perguntará se deseja detectar
automaticamente a rede. Dependendo do GTK instalado na sua máquina,
responder "SIM" para esta pergunta pode travar o Cheops. Por precaução, inclua manualmente os nós da rede inicialmente.

Usando menus sensíveis ao contexto

Ao clicar os nós com o
botão esquerdo do mouse, um menu aparecerá com os serviços disponíveis
para aquele nó. Muitas funcionalidades do Cheops podem ser acessadas
através desse menu.

A maioria deles utilizam o terminal de comando para executar
os serviços (por exemplo, o Secure Shell e o Ping). O terminal
executado será o definido nas configurações, em "File > Options".

A funcionalidade dos itens desse menu são idênticos aos encontrados na barra de ferramentas.

Linux: Cheops: uma ótima ferramenta de rede

Serviços da barra de ferramentas

No Cheops 0.61, a barra de ferramentas possui 4 elementos. Abaixo, explicaremos cada um deles:

File

Aqui poderá ser feito o controle de arquivos, abas, configurações e a saída do programa.

1. New Viewspace: esta opção criará uma nova aba de monitoramento;

2. Open: abre um arquivo de mapeamento dos nós, que possui
informações sobre nós descobertos na rede, suas associações outros
registros;

3. Save: armazena o arquivo atualmente aberto para dados de mapeamento;

4. Save as: armazena em um novo arquivo as informações monitoradas no momento, como nós identificados, associações, layout etc;

5. Options: edita as configurações;

6. Quit: sai do programa.

Viewspace

Aqui está concentrado a maioria das funções providas pelo Cheops.
Controla a aba (viewspace) atual, carrega e recarrega nós, controla o
modo de visão, insere novas redes ou domínios etc.

1. New: abre uma nova aba. Semelhante ao "File > New Viewspace";

2. Edit: lista a rede e subdomínio monitorado naquela aba e permite edição e inserção das informações contidas;

3. Add host: insere um novo nó da rede através do endereço IP ou nome na rede.

4. Add network: insere um conjunto de nós contidos na rede mencionada;

5. Add domain: insere nós contidos em um domínio de rede. Opcionalmente, subdomínios podem ser inseridos;

6. View: pode alterar a visão da tela de monitoramento. As
alternativas são: lista (para melhor organização), ícones grandes (para
melhor visualização) e ícones pequenos (para visualização de grandes
redes);

7. Arrange: reordena os nós por domínio, nome, endereço ou tipo;

8. Map: detecta automaticamente a associação entre os nós e os ligam
graficamente com uma linha simples. Suas sub-opções são: Map (para 1
nó), Unlinked Hosts (para nós não conectados), Remap Everything (para
remapear todos os nós) e Unmap (para apagar todas as ligações entre
nós);

9. Reverse DNS Everything: tenta detectar o nome do nó através do seu endereço IP;

10. Find in viewspace e find again: faz uma busca (por palavra chave)
pelos nós mostrados na aba atual. O "find again" repete a busca feita
anteriormente;

11. Refresh: atualiza o mapa atual;

12. Auto Refresh: define-se um tempo para uma atualização periódica e automática do mapa;

13. Reload: recarrega os nós e as associações;

14. Clear: limpa a tela.

View

Opção para verificar os registros e o estado do Cheops.

1. Event Log: mostra os registros de eventos do Cheops. Esses eventos
podem ser notificados aos contatos indicados em "File > Options";

2. Status: mostra o estado atual do Cheops e permite listar detalhes na
interface padrão para tratamento de erros (que geralmente é o terminal
de comandos).

Help

Mostra informações extras sobre o Cheops. Infelizmente, a versão 0.61 não vem com manuais.

1. About: mostra um diálogo simples com informações sobre Cheops;

2. Licence: mostra a licença em que o Cheops foi distribuído. Na versão 0.61, é o GNU GPL.


http://www.vivaolinux.com.br/artigo/Cheops-uma-otima-ferramenta-de-rede

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s