[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Erro
From: |
Halexsandro de Freitas Sales |
Subject: |
Re: [shell-script] Erro |
Date: |
Thu, 15 Nov 2007 10:05:05 -0200 |
Desculpa ai lista,
só ficou faltando o script ...rs
#!/bin/bash
#
# Ficha Tecnica
#
# Nome: espiao.sh
# Versao: 1.0
# Data de criacao: 09 Janeiro de 2007
# Ultima Atualizacao: 09 Agosto de 2007
# Versao Antecessora: 0.3 Data: 29 Agosto de 2007
#
# Descricao do Programa
#
# Este programa checa a rede com o 'nmap' e gera um relatorio
# que pode ser enviado por email para ser analisado mais tarde
# pelo administrador, ou simplesmente armazenado no arquivo
# /$HOME/pillares/espiao/espiao.log
# Desenvolvedor: Halexsandro de Freitas Sales -->
address@hidden
# Empresa: Pillares Desenvolvimentos Tecnologicos -->
http://pillares.no-ip.org
#
# Desenvolvimento do software
#
# Fases dos Processos
#
# 1 - Declaracao das Variaveis de Controle do Programa
#
# 2 - Saudacoes e Ajustes do Sistema
#
# 2.1 - Identificar se a maquina possui o nmap
#
# 2.2 - Verificar se os diretorios necessarios para execucao
existem
# Caso nao existam, serao criados nessas fases
#
# 3 - Recolhimento e analise dos dados para a execucao
#
# 4 - Execucao do programa
#
# 5 - Relatorios de Saida
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fase 1.0
# # # # # # >>> Declaracao de variaveis e funcoes de controle <<< #
# # # #
logo () {
echo -e '\033[1;32;1;2m
_________________________________________________
| |
| ****** ****** ******* ** ** ** |
| ** *** *** ** ** ** ** |
| ** *** *** ** ** ** ** |
| **** *** *** ** **** ** ** ** |
| *** ******** ** ** ** ** ** |
| *** *** *** ** ** ** ** ** |
|******* *** *** ******* ****** ** |
|_________________________________________________|
http://pillares.no-ip.org/sagui
\033[m'
}
texto_err_nmap () {
clear
echo -e "\n
-------------------------------------------------
| Saida de erro por falta do programa 'nmap', |
| o mesmo deve estar instalado para o processo |
| espiao.sh funcionar. Falhas podem ser |
| reportadas a [EMAIL PROTECTED] |
------------------------------------------------- "
sleep 5
}
formulario_01() {
echo -e "
|-----------------------------------------------------------------|
| espiao.sh |
| Versao 1.0 29 de Agosto de 2007 |
|-----------------------------------------------------------------|
| Pillares Desenvolvimentos Tecnologicos |
|-----------------------------------------------------------------|
| |
| |
| Faixa de IP's a ser vasculhada: ____________| |
| e.g. 192.168.254. |
| |
| Correio eletronico do ADM: ___________________________________| |
| |
| |
| |
| |
| Por favor preencha a faixa de ip e email do Administrador |
-----------------------------------------------------------------
http://pillares.no-ip.org";
}
cabeca_resultado="|- - - - - ---------------------- E - S - P - I - A -
O . S H ---------------------- - - - - -|"
calda_resultado="|- F - I - M - - --------------- P - I - L - L - A - R
- E - S ---------------- - - F - I - M -|"
log=/$HOME/pillares/espiao/espiao.log
nmap=0
ip=1
rede=
mail=
# # # # # # >>> Fim da Fase 1.0 <<< # # # # #
# Fase 2
clear
logo
sleep 3
# Fase 2.1
which nmap
if [ $? -eq 0 ]
then
if [ -a /$HOME/pillares ]
then
if [ -a /$HOME/pillares/espiao ]
then
clear
echo "Diretorios ja existem, executando programa!"
cat /dev/null > /$HOME/pillares/espiao/espiao.log
sleep 4
else
mkdir -p /$HOME/pillares/espiao
cat /dev/null
> /$HOME/pillares/espiao/espiao.log
fi
else
mkdir -p /$HOME/pillares/espiao
touch /$HOME/pillares/espiao/espiao.log
fi
# # # > > > Inicio do programa < < < # # #
# Garantindo que $log esteja vazia
logo > $log
## Fase 03
clear
formulario_01
tput cup 9 34
read rede
tput cup 12 29
read email
clear
# Fase 04
while [ $ip -lt 255 ]
do
# Processo condicional do programa
#ping -c1 $rede$ip > /dev/null
# Checando se o ip a ser escaneado existe na rede
# Caso o mesmo nao exista, eh acrescentado +1 no host e
o teste eh reiniciado
#if [ $? = 0 ]; then
if ping -c1 $rede$ip 1> /dev/null
then
# Sendo o host existente e ativo na rede, eh
inicializado o processo
echo "$cabeca_resultado" >> $log
echo >> $log
echo Verificando ip $rede$ip
echo " Maquina $rede$ip" >> $log
#Escaneando o host e cortando partes
desnecessárias do resultado para tornar o log mais limpo
tput bel
nmap $rede$ip | grep -ivE '(^star|^port|
^interes|^not|^nmap)' >> $log
echo >> $log
echo "$calda_resultado" >> $log
echo >> $log
#Fim da condicional 'if'
fi
# Incrementando a variavel IP (+1)
ip=$( expr $ip + 1 )
# Fim do loop 'while'
done
# Fase 05 - Controles de Saida
else
nmap=1
fi
if [ $nmap = 1 ]
then
clear
texto_err_nmap
else
mail $email -s "Relatorio do programa espiaio.sh `date`"
< $log
fi
Em Qui, 2007-11-15 às 09:58 -0200, Halexsandro de Freitas Sales
escreveu:
> Ola Fabio,
> Ainda não tive como olhar seu código,
> mas se o que você quer é saber quais micos estão na sua rede
> existe um script que fiz e coloquei na lista.
> Ele checa com o nmap ip por ip de uma faixa que você passa para ele
> e depois envia por email o relatório. o teste é um pouco demorado
> devido a utilização do nmap, mas você pode simplesmente remover as
> linhas referente ao nmap.
>
> obs: para que o relatorio seja enviado com sucesso é necessário o
> postfix e caso esteja a usar Debian ou algum derivado, precisará
> também
> do mailutils.
>
> #apt-get install postfix mailutils
>
> Em Qui, 2007-11-15 às 02:01 +0000, fabinhouberti escreveu:
> > Ola Lista,
> > Estou com um pequeno problema: Estou tentando construir em shell o
> > seguinte script para verificação de hosts ativos, porem não estou
> > conseguindo.
> > Segue abaixo o script que tenho até o momento:
> > --
> >
> > #!/bin/bash
> >
> > clear
> >
> > #echo ""
> > #echo "---------------------------------------------------"
> >
> > #echo -e "|\33[44;30;4mScaneando Clientes na Rede, por favor
> > aguarde...!\33[m|"
> > echo "---------------------------------------------------"
> > echo "| CLIENTE Nome IP STATUS |"
> > echo "| |"
> > cfg="/etc/cbq/cbq.cfg"
> > #loop
> > for I in $(cat $cfg); do
> >
> > #Ignorar comentarios
> > comentario=`echo $line | cut -c 1-1`
> > if [ $comentario != "#" ]then
> >
> > #Extrair as Variaveis
> > nome= `cat /etc/cbq/cbq.cfg | awk '{print $1;}'`
> > ip= `cat /etc/cbq/cbq.cfg | awk '{print $2;}'`
> >
> > ping -c 1 $I > /dev/null
> >
> > ret=$?
> >
> > if [ $ret = 0 ]; then
> > if [ $I = $ip ]; then
> > echo -e "| \33[0;33m $nome\33[m ---------------->$I
> > --->\33[42;30;5mOK!\33[m |"
> > fi
> > fi
> >
> > if [ $ret = 1 ]; then
> > if [ $I = $ip ]; then
> > echo -e "| \33[0;33m $nome\33[m ---------------->$I
> > --->\33[41;30;5mDOWN!\33[m |"
> > fi
> > fi
> >
> > fi
> > done
> > echo "| |"
> > #echo -e "
> > -------------------\33[44;30;4m||FIM||\33[m---------------------"
> > echo -e " --------------FIM------------------------------"
> > echo ""
> >
> > ---------------Arquivo "/etc/cbq/cbq.cfg ----------------
> >
> > #Cliente Ip
> > #-------------- ---------------
> > Cliente1 192.168.0.57
> > ---
> >
> > Desde já agradeço a atenção.
> >
> > Fábio UBerti
> >
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
- Erro, fabinhouberti, 2007/11/14
- Re: [shell-script] Erro, Halexsandro de Freitas Sales, 2007/11/15
- Re: [shell-script] Erro,
Halexsandro de Freitas Sales <=