Pular para o conteúdo

Monitoramento de portas com netcat

Bom, venho neste artigo compartilhar um pouco meu conhecimento em administração de servidores com Linux. O artigo consiste no uso do netcat (nc) para monitoramento de portas ativas. Criaremos um script para monitoramento de portas e outro para alerta ao administrador via e-mail.
Eduardo Ramos eduardo.ramos
Hits: 36.141 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Iniciando

Bom, venho neste artigo compartilhar um pouco de meu conhecimento em administração de servidores Linux. O artigo consiste no uso do netcat (nc) para monitoramento de portas ativas.

Lendo primeiramente o artigo do nosso amigo tzbishop teremos então um base para a utilização do netcat:
Porém vamos usá-lo de outra forma, vamos somente monitorar os serviços criando alguns scripts.

Nesse artigo vamos usar o diretório /scripts/check para criá-los:

# mkdir -p /scripts/check

Em seguida vamos criar nosso primeiro shell script, o de checagem que se chamará check.sh:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
#!/bin/bash

ncmd="/usr/bin/nc -z -w 20"
m1="192.168.0.1"
p3128="3128" # porta do squid

# Servidor Linux
echo "Testando porta do squid..."
$ncmd $m1 $p3128 > /dev/null 2>&1
if [ $? != 0 ] ; then
echo "Serviço do servidor Linux ($m1) porta $p3128 FALHOU"
else echo "Serviço do servidor Linux ($m1) porta $p3128 OK"
fi
echo finalizando teste no servidor Linux.

Salve este arquivo dentro do diretório scripts/check e em seguida dê permissão de execução para ele:

# chmod +x check.sh

Depois pode testá-lo digitando:

#./check

Se o serviço estiver ativo deve aparecer algo igual a:

Testando porta do squid...
Serviço do servidor Linux (192.168.0.1) porta 3128 OK
finalizando teste no servidor Linux.

Você pode incluir mais entradas no arquivo check.sh, isto vai ficando a critério do administrador.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Iniciando
   2. Notificando o administrador em caso de falha
Nenhum artigo encontrado.

Criando relatórios estatísticos com o webalizer

Resolvendo problema de conexão a internet ADSL (Velox)

Tor no Debian Squeeze - Instalação e Configuração

Linux em Router Wireless (WRT54G Vs OpenWrt)

Instalando placa PcChips e modem PcTel

#1 Comentário enviado por Ragen em 28/04/2005 - 08:25h
Olá Eduardo,

Só queria fazer um breve comentário... Desde que se tenha criatividade, pode-se fazer muita coisa com netcat, desde a sistema de transferencias de arquivos de um ponto a outro até um man-in-the-middle.

No entanto, em se falando de "varredura" por servicos, o nmap da um show a parte. Ou seja, pelo que eu entendi, o script que você colocou no seu artigo tenta fazer uma conexão na porta do serviço (certo? me corrija se eu tiver errado)... Se ele não estabelecer a conexão, entende-se que o sistema está com problemas. Porém pode acontecer de um servico ter problemas adversos E permitir uma nova conexão, por exemplo, ter um loop *infinito*/muito grande (problema relativamente comum em servidores MySQL 4) que inutiliza o serviço - Em algumas vezes o serviço se re-esbelece automaticamente, em outros casos não.

Nesse caso, além de testar uma conexão pra porta do servico, você precisa testá-lo (fazendo algum tipo de requisicao e analizar a resposta) para ter um pouco mais de segurança.

[]'s

Ragen
#2 Comentário enviado por shocker em 28/04/2005 - 09:56h
Eu prefiro utilizar o SNMP.
Além de ser padrão de mercado para monitoramento, ele é muito mais confiável e trata condições de erro, como as mencionadas pelo Ragen, no comentário acima.

Mais parabéns pelo artigo!

[]'s

Alan.
#3 Comentário enviado por eduardo.ramos em 28/04/2005 - 15:46h
Bom, críticas e sugestões são bem vindas, porém este foi uma solução simples que tinha pensado em resolver muito rápido um problema na minha rede. e é claro, que existem outras funçoes para o nc bem como a analise com outras ferramentas.
Eduardo Ramos
#4 Comentário enviado por patrickbrandao em 28/04/2005 - 20:31h
Grande garoto!

gostei do artigo, tive umas ideias muito boas...
continue assim, lembre-se: voce é brasileiro, e brasileiro...

Patrick Brandão
#5 Comentário enviado por eduardo.ramos em 29/04/2005 - 10:37h
Pow Patrick, valeu! vindo de vc só tenho a agradecer o incentivo...
Um forte abraço!

Eduardo Ramos
#6 Comentário enviado por agk em 29/04/2005 - 17:56h
Grande artigo, mostrando que com linux existem N soluções possíveis para um problema. Ehehe, com um pouco de criatividade e empenho se resolve qualquer parada.
#7 Comentário enviado por K1LL -9 em 13/11/2006 - 17:15h
Aê Eduardo ... boa boa ... eu curti.
Outro dos infinitos lados boms de nosso mundo Open-Source, vc larga um script com uma idéia bacana, além de quebrar seu próprio galho quebra de outros e ainda mais:
Disponibiliza base pra outras idéias.

Mas o script do graande Cabelo funciona (pelo menos com a claro) se vc alterar e usar por exemplo:

5191000000@clarotorpedo.com.br
ou melhor:
Cód-de-Área+Número-do-Cellular@clarotorpedo.com.br

Quando cai algo em algun cliente antes dele chiar o meu celular me avisa.

[]'s

Contribuir com comentário

Entre na sua conta para comentar.