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

[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]
> 
> 
> 
> 
>  



reply via email to

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