Saudações amigos... tempos atrás enviei um script chamado de espiao.sh para a lista.. hoje parei para revisar o mesmo e estou postando o resultado agora, espero que gostem e q seja útil para todos... Obs: caso seja possível, espero receber dicas de melhorias (em qualquer sentido).. Um abraço e um ótimo fim de semana para todos...
#!/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 --> [EMAIL PROTECTED] # 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 ------------------------------- resultado --------------------------- _________________________________________________ | | | ****** ****** ******* ** ** ** | | ** *** *** ** ** ** ** | | ** *** *** ** ** ** ** | | **** *** *** ** **** ** ** ** | | *** ******** ** ** ** ** ** | | *** *** *** ** ** ** ** ** | |******* *** *** ******* ****** ** | |_________________________________________________| http://pillares.no-ip.org/sagui 21/tcp open ftp 111/tcp filtered rpcbind 135/tcp filtered msrpc 137/tcp filtered netbios-ns 139/tcp filtered netbios-ssn 143/tcp filtered imap 445/tcp filtered microsoft-ds 513/tcp filtered login 515/tcp filtered printer 1080/tcp filtered socks 3128/tcp filtered squid-http 4444/tcp filtered krb524 4480/tcp filtered proxy-plus 6588/tcp filtered analogx 17300/tcp filtered kuang2 27374/tcp filtered subseven |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -| |- - - - - ---------------------- E - S - P - I - A - O . S H ---------------------- - - - - -| Maquina 201.8.222.128 21/tcp open ftp 23/tcp open telnet 80/tcp open http 111/tcp filtered rpcbind 135/tcp filtered msrpc 137/tcp filtered netbios-ns 139/tcp filtered netbios-ssn 143/tcp filtered imap 445/tcp filtered microsoft-ds 513/tcp filtered login 515/tcp filtered printer 1080/tcp filtered socks 3128/tcp filtered squid-http 4444/tcp filtered krb524 4480/tcp filtered proxy-plus 6588/tcp filtered analogx 17300/tcp filtered kuang2 27374/tcp filtered subseven |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -| |- - - - - ---------------------- E - S - P - I - A - O . S H ---------------------- - - - - -| Maquina 201.8.222.130 |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -| |- - - - - ---------------------- E - S - P - I - A - O . S H ---------------------- - - - - -| Maquina 201.8.222.131 |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -| |- - - - - ---------------------- E - S - P - I - A - O . S H ---------------------- - - - - -| Maquina 201.8.222.134 |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -| |- - - - - ---------------------- E - S - P - I - A - O . S H ---------------------- - - - - -| Maquina 201.8.222.137 |- F - I - M - - --------------- P - I - L - L - A - R - E - S ---------------- - - F - I - M -|
