sexta-feira, 29 de novembro de 2013

Este Script Scaneia a Rede com o 'nmap' e gera um relatorio que eh enviado por email ( Linux )


#!/bin/bash

## Este programa scaneia a rede com o 'nmap' e gera um relatorio
## que eh enviado por email
## para ser analisado mais tarde pelo administrador

## 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=/scripts/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.1."
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 - - ------------- U - N - I - A - L - C - 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" < /scripts/espiao/espiao.log

#Condicional do resultado de envio do email

if [ $? = 0 ]; then

clear
echo "Fim do Processo..."
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 "/scripts/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 "############## - Unialco Desenvolvimento Tecnologico - ##############"
tput bel

if ls / | grep scripts 2> /dev/null
then
echo "O Programa 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 \"/scripts/espiao\" nao existe e sera
criado"
echo "Criando o diretorio \"/scripts/espiao\""
mkdir /scripts 2> /dev/nul
mkdir /scripts/espiao 2> /dev/nul
mkdir /scripts/espiao 2> /dev/nul
touch /scripts/espiao/espiao.log 2> /dev/nul
echo "Diretorio criado com sucesso!"
echo "Dando permissao ao diretorio \"/scripts/espiao\""
chmod 777 /scripts/espiao/ -R
echo "Iniciando programa"
sleep 3
programa #Segunda chamada da funcao 'programa'

fi

Nenhum comentário:

Postar um comentário