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