View Full Version : Script connessione telnet
Salve, vorrei fare uno script che mi colleghi al server pop di posta ma usando questo script mi caccia fuori appena dopo avermi chiesto la password...
{
sleep 1
echo "user $user"
sleep 1
echo "pass $pass"
} | telnet $server $port
mi hanno detto che potrebbeessere problema di echo che inserisce caratteri non validi o di codifica ma non so come fare... Help!!:mc: :mc:
Gimli[2BV!2B]
22-07-2008, 21:57
Da quel che so per fare bene lavori di questo tipo, usualmente si usa expect (http://http://en.wikipedia.org/wiki/Expect).
Per esempio questa è la versione telnet di un mio vecchio script che faceva dei lavoretti nel modem:
#!/usr/bin/expect
set MODEM 192.168.1.1
set LOGIN utente_telnet_modem
set PWD PASSWORD
set SHELL_EXIT exit
# Apro una sessione telnet ed aspetto la richiesta dell'username.
spawn telnet $MODEM
expect "login:"
# Invio l'utente ed aspetto la richiesta della password.
send $LOGIN\r
expect "Password:"
# Invio la password ed aspetto il prompt.
send $PWD\r
expect "#"
# ...comandi...
send $SHELL_EXIT\r
expect eof
ma rimane un semplice script? cioè lo chiamo sempre "qualcosa.sh"?
A dire il vero avevo già visto qualcosa del genere, ma l'istruzione
expect "login:"
a prima vista dovrebbe attendere una fantomatica richiesta di login che con il server pop non c'è... cioè deve essere l'utente a scrivere
USER nomeutente
pensi che posso funzionare comunque?
ora riesco a farlo collegare, ma io vorrei fare un ciclo che mi scandisce tutte le mail che ci sono... ho googolato un po' ma non ho trovato niente sui costrutti dei cicli in expect, ho anche provato a lanciare uno script normale con
spawn /bin/bash abc.sh
ma niente...
qualcuno ha qualche pagina di riferimento o una soluzione?
Gimli[2BV!2B]
23-07-2008, 20:51
Cicli:
set no_of_cycles 10
for { set cycle 0 } { $cycle < $no_of_cycles } {incr cycle } {
# corpo del for
}
set count 0
while { $count < 1000 } {
# corpo del while
incr count
}
Esempi utili. (http://expect.nist.gov/scripts/)
Nella pagina ufficiale c'è un sacco di roba. (http://expect.nist.gov/)
Non scordiamoci di autoexpect... (http://www.tcl.tk/man/expect5.31/autoexpect.1.html)
Lo spawn con bash non l'ho proprio capito...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.