← Back to team overview

sslug-teknik team mailing list archive

Expect script til router login

 

hej sslug'er

jeg har igennem en uges tid prøvet at lave en expect script
som kan logge ind på en router og ændre access-lister.

selve expect scriptet ser sån ud

#!/usr/bin/expect
set host [lindex $argv 0]
set password [lindex $argv 1]
set enabledpw [lindex $argv 2]
spawn telnet $host
expect "Password: "
send "[lrange $argv 1 1]\n"
send "enable\r"
expect "Password: "
send "[lrange $argv 2 2]\n"
send "conf t\n"
send "access-list 2 permit xxx.xxx.xxx.xxx\n"
send "snmp-server community xxx RO 2\n"
send "exit\n"
send "write\n"
send "exit\n"
expect eof
exit


og det virker også godt nok så længe at password og enablepassword er
rigtige, og host er oppe, men da expect scriptet bliver kald fra et bash 
script skal den meget gerne vente tilbage til bashscriptet, og
forsætte det og så lave en notice om at den ikke har kunne logge ind på
en router pga passwd, enable eller host fejl. 

Er der en som sidder inde med et færdig lavet expect script, som laver
overnævnte , eller er der en som har en ide til hvad jeg skal gøre for 
at kunne lave ovennævnte

på forhånd tak

/Per Jørgensen