o incremento da variável "$ip" não poderia ser feito no estilo da linguagem "c"?
((ip++)) a não ser que este duplo parêntese gere um subshell, o que não creio ser o caso. Isto é mais rápido e legível que ip=$( expr $ip + 1 ) =================================== --- Em [email protected], "Halexsandro de Freitas Sales" <[EMAIL PROTECTED]> escreveu > > 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 -| >
