Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > Geral > Programação > shell script
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Telnet dentro de um script, tem como?



Resposta
 
LinkBack Opções do Tópico
Antigo 21-07-2008, 7:42   #1 (permalink)
Padrão Telnet dentro de um script, tem como?

Ola pessoal!


Me desculpem de solicitar ajuda denovo 'e que nesse caso nem sei por onde comecar.

Meu Chefe me pedio um script que tem que dar um telnet em um hardware de telefonia e resetar o mesmo

O hardware 'e facil de resetar so precisa escrever R e enter ! Pronto!

Mas deixa eu escrever aqui o que ele quer



O Script tem que

Telnet (ip do Hardware)
Colocar Senha.

Resetar o Hardware R + Enter

Apos resetar , esperar por 2 minutos .


Pingar o Hardware e com o resultado do ping gerar um log

Mandar um email com o resultado do log.

Esse 'e o Script , o problema 'e que nao sei como vou fazer para usar o Telnet e fazer o meu Script esperar por 2 minutos , pigar e gerar um log.

Estou bem perdido nessa.

POR FAVOR ME AJUDEM!!!

Abraco


Daniel
 
Avatar de dlabreu
 
Registrado em: Mar 2008
Localização: South Africa
Distribuição: Centos
Idade: 29
Mensagens: 31
Agradeceu: 2
Agradecido 2 vez(es) em 2 Posts
Reputação: 11 dlabreu
Responder com Quote dlabreu está offline  
Antigo 21-07-2008, 11:28   #2 (permalink)
Thumbs up Acho que posso ajudar :)

Axo que tenho uma possivel solução pra vc a alguns meses desenvolvi algo parecido mas para se comunicar o com Mikrotik e graças a Deus esta funcionando perfeitamente... utilizei PHP para fazer esta comunicação ... vou te passar a bola aqui agora ...

vc vai precisar da Classe TELNET feita em PHP que é a seguinte:
http://walcan.icenet.com.br/TELNET/telnetmodule.php.inc

Com este Script vc eh capaz de fazer o seguinte

crie um outro php por exemplo - executa.php e dentro dele coloque
<?
include("telnetmodule.php.inc");

$username="LOGINTELNET"; //LOGIN PARA CONEXAO AO TELNET
$password="SENHATELNET"; //SENHA DE CONEXAO AO TELNET
$microtikserver="192.168.0.15"; //IP do HOST a Receber o Comando TELNET

$tn = new telnet("$microtikserver",23);
$tn->read_till("ogin: ");
$tn->write("$username\r\n");
$tn->read_till("word: ");
$tn->write("$password\r\n");
$tn->read_till(">");
$tn->write("R\r"); //LINHA DO SEU COMANDO --- JAH COLOQUEI o SEU COMANDO Aí DENTRO
$online=$tn->read_till("\n\n");
$tn->close();


?>

Cara eu axo que isso aqui jah funciona pelo menos para dar o RESET
Agora eh soh vc dar um sleep de X segundos e tentar fazer um PING

Espero ter Ajudado !!!

Abraços amigo
__________________
Marcelo Santoro
Tecnológo em Informática
Administrador de Redes
ICEnet Telecomunicações
 
Avatar de marcelosantoro
 
Registrado em: May 2007
Localização: São Paulo
Idade: 25
Mensagens: 23
Agradeceu: 0
Agradecido 1 vez em 1 Post
Reputação: 19 marcelosantoro
Responder com Quote marcelosantoro está offline  
Antigo 22-07-2008, 13:37   #3 (permalink)
Padrão

A outra possibilidade que você tem é de usar o expect para fazer a conexão com o telnet e enviar os comandos que você precisa pro teu hardware.

Eu uso o expect principalmente para gerenciar ativos CISCO.
__________________
Frederico Freire Boaventura (Galahad)
LPIC-II | MCP

A resposta ajudou? Agradeça!

"Linux poses a real challenge for those with a taste for late-night hacking (and/or conversations with God)."
(By Matt Welsh)
Super Moderador
 
Avatar de galahad
 
Registrado em: Jun 2008
Localização: Espírito Santo
Distribuição: Gentoo
Mensagens: 247
Agradeceu: 10
Agradecido 50 vez(es) em 48 Posts
Reputação: 39 galahad galahad
Responder com Quote galahad está offline  
Antigo 23-07-2008, 5:37   #4 (permalink)
Padrão

Ola meus amigo!


Muito obrigado pelas dicas , gostei mesmo desse expect, porem nao entendi direito.
Tenho que ter ele instalado na minha maquina?

Achei isso na Net , porem ainda nao entendi o sentido da coisa , sera que tem como vc me dar uma explicao breve?

set timeout 20 #If it all goes pear shaped the script will timeout after 20 seconds.
set name [lindex $argv 0] #First argument is assigned to the variable name
set user [lindex $argv 1] #Second argument is assigned to the variable user
set password [lindex $argv 2] #Third argument is assigned to the variable password

spawn telnet $name #This spawns the telnet program and connects it to the variable name

expect "login:" #The script expects login
send "$user " #The script sends the user variable
expect "Password:" #The script expects Password
send "$password " #The script sends the password variable
interact #This hands control of the keyboard over two you (Nice expect feature!)


Honestamente so preciso que o Script faca um telnet nesse hardware que nao tem nome de usuario so pede por senha, e depois dentro do Telnet preciso digitar R e enter.
Pronto , acabou meu script.

Please me ajudem


Grato


Daniel
 
Avatar de dlabreu
 
Registrado em: Mar 2008
Localização: South Africa
Distribuição: Centos
Idade: 29
Mensagens: 31
Agradeceu: 2
Agradecido 2 vez(es) em 2 Posts
Reputação: 11 dlabreu
Responder com Quote dlabreu está offline  
Antigo 23-07-2008, 9:01   #5 (permalink)
Thumbs up

Código:
set timeout 20 # o script vai interromper a execução em 20 segundos se algo der errado
set ip [lindex $argv 0] # o primeiro argumento da linha de comando vai ser associado a variável IP
set senha [lindex $argv 1] # o segundo argumento vai ser associado a variavel senha (senha do hardware)

spawn telnet $ip # Esse comando executa o telnet e abre a conexão com o host $ip

expect "Password:" # O script espera pelo prompt "Password:", configure aqui exatamente 
                          # o prompt que aparece para você quando abre o telnet para o hardware
send "$senha" # O script envia o conteúdo da variável senha
send "R\n" # O script envia o comando R seguido de "Enter"
Tá aí o seu script. Você pode chamar ele de dentro de um script bash e fazer no bash as outras interações que você precisa, por exemplo, de esperar os 2 minutos e fazer o ping pro equipamento e gravar as informações do ping em um arquivo e enviar por e-mail.
__________________
Frederico Freire Boaventura (Galahad)
LPIC-II | MCP

A resposta ajudou? Agradeça!

"Linux poses a real challenge for those with a taste for late-night hacking (and/or conversations with God)."
(By Matt Welsh)
Super Moderador
 
Avatar de galahad
 
Registrado em: Jun 2008
Localização: Espírito Santo
Distribuição: Gentoo
Mensagens: 247
Agradeceu: 10
Agradecido 50 vez(es) em 48 Posts
Reputação: 39 galahad galahad
Responder com Quote galahad está offline  
Resposta

Opções do Tópico

Regras de Mensagens
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Trackbacks are Ligado
Pingbacks are Ligado
Refbacks are Ligado
Ir para...

Tópicos Similares
Tópico Tópico Iniciado Por Fórum Respostas Última Mensagem
Script Telnet Reboot Ajudemm qnqweb Mikrotik 1 08-11-2007 12:45
script para telnet carne_de_passaro Iniciantes 3 13-11-2006 18:13
Shell Script: como trocar um trecho de uma string dentro de uma variavel? Edilmar Programação 5 21-08-2006 14:28
Beep dentro do script aprendiz_ce Programação 1 02-08-2005 1:41
Script x Telnet cantisan Adm. em Geral 2 12-02-2003 11:57

Horários baseados na GMT -3. Agora são 22:20.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.