shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

espiao.sh


From: halexsandro freitas sales
Subject: espiao.sh
Date: Mon, 29 Jan 2007 17:55:17 -0300 (ART)

Saudações amigos,
fiz um script para monitorar portas abertas em micros da rede onde trabalho,
gostaria que os amigos dessem uma analisada e se possível melhorassem o mesmo
ou pelo menos dessem uma dica para que eu possa melhorar o mesmo,
utilizao o nmap para vasculhar a minha rede gerando um relatório  e depois
enviando o mesmo por email..
Agradeço qualquer crítica e melhoria no mesmo
Segue abaixo o código do mesmo:
-----------------------------------------------------------------------------------------------


#!/bin/bash

#espiao.sh VERSAO 0.3
#ultima atualizacao 29/01/2007

#Desenvolvido por:
#Halexsandro de Freitas Sales 09/01/2007

#Com a colaboracao de:
#Carlos Fernando A. Azevedo
#

#Contatos:
# address@hidden; address@hidden; address@hidden

## Este programa scaneia a rede com o 'nmap' e gera um relatorio
## que eh enviado por email
## para ser analisado mais tarde pelo administrador
## Este programa pode ser baixado em ftp://www.aerovix.com.br

## Para utilizar este programa, basta copia-lo para dentro de "/bin"
## e dar permissao de execucao para o mesmo. ex: chmod 777 /bin/espiao.sh

############################################################################"

# Funcao 'programa'

programa()
{
# Declaracao da variavel $ip

ip=1
log=/Desenvolvimento/pillares/espiao/espiao.log

#Limpando o LOG, caso o processo tenha sido abortado anteriormente


cat /dev/null > $log

#interatividade do programa

clear
echo "Digite a faixa de \"IP\" a ser scaneada"
echo "Exemplo: 192.168.0."
read faixa
echo "Digite o endereco de email para o qual o relatorio deve ser enviado"
read email


#Processo e loop do programa

while [ $ip -le 255 ]
do

#Processo condicional do programa

ping -c1 $faixa$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

#Sendo o host existente e ativo na rede, eh inicializado o processo

echo - - - - - 
---------------------------------------inicio--------------------------------------
 - - - - - >> $log
echo >> $log

#Escaneando o host e cortando partes indesejaveis do resulta, assim tornando o 
log mais limpo

tput bel
nmap $faixa$ip | grep -v ^Starting | grep -v ^"Service de" | grep -v ^"Nmap 
fini" >> $log
echo >> $log
echo - F - I - M - - ------------- H - A - L - E - X - S - A - N - D - R - O 
------------ - - F - I - M - >> $log
echo >> $log

#Fim da condicional 'if'

fi

#Alterando o host para o proximo da rede (+1)

ip=$( expr $ip + 1 )

#Fim do loop 'while'

done

#envio do relatorio por email

mail $email -s "Relatorio do Software espiao.sh"  < 
/Desenvolvimento/pillares/espiao/espiao.log

#Condicional do resultado de envio do email

if [ $? = 0 ]; then

clear
echo "Fim do Processo espiao.sh"
echo "Relatorio gerado e enviado por email com sucesso"
echo "O email foi:" $email
    
    else
    
    clear
    echo "Por algum motivo houve falha no envio do email"
    echo "Verifique os servico de postagem de seu servidor"
    echo "O arquivo de log foi gerado e encontra-se em:"
    echo "/Desenvolvimento/pillares/espiao/espiao.log"

fi

exit 0

}

# Limpando o prompt para inicializar o programa espiao

clear

##### Inicialização da saudacao e do menu principal #####

# Soando um bip
tput bel
echo "
   ######## - Obrigado por utilizar o programa espiao.sh - ########
         Este programa  vasculha a rede utilizando o -nmap-
       Portanto, eh necessario  que voce tenha o mesmo instalado
                      O nmap pode ser baixado em
                     www.nmap.org

##############  - Pillares Desenvolvimentos Tecnologicos -  ##############

"
tput bel

if ls / | grep Desenvolvimento 2> /dev/null 
then
    echo "O Programa \'espiao.sh\' ja esta pronto para rodar..."
    echo "Deseja continuar??? Isso apagara o log anterior! (S ou N)???"
    read opcao
    
        case $opcao in
    
        S|s)    echo "Inicializando o programa..."
            #clear
            programa #Chamada da funcao 'programa'
            ;;

        N|n)    echo "Cancelando a execucao do programa"
            exit
            ;;

        esac

    else
    echo "O diretorio \"/Desenvolvimento/pillares/espiao\" nao existe e sera 
criado"
    echo "Criando o diretorio \"/Desenvolvimento/pillares/espiao\""
    mkdir /Desenvolvimento 2> /dev/nul
    mkdir /Desenvolvimento/pillares 2> /dev/nul
    mkdir /Desenvolvimento/pillares/espiao 2> /dev/nul
    touch /Desenvolvimento/pillares/espiao/espiao.log 2> /dev/nul
    echo "Diretorio criado com sucesso!"
    echo "Dando permissao ao diretorio \"/Desenvolvimento/pillares/espiao\""
    chmod 777 /Desenvolvimento/pillares/espiao/ -R
    echo "Iniciando programa" 
    sleep 3
    programa #Segunda chamada da funcao 'programa'

fi


 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]