Posted to tcl by mjanssen at Wed Nov 07 22:58:28 GMT 2007view raw
- #!/usr/bin/expect -f
- # Script written by Tim Nelson
- # uses tcl\expect
- proc between {a b x} {return [expr {$x<=$b && $x>=$a}]}
- proc address {num} {
- if {[between 10 249 $num]} {return [list 209 $num]}
- if {[between 250 489 $num]} {return [list 109 [expr {$num-240}]]}
- if {[between 510 778 $num]} {return [list 9 [expr {$num-500}]]}
- }
- spawn telnet 192.168.100.100
- send "trango\r"
- send "password ro\r"
- expect "New Password (4 to 16 characters):"
- send "passCust\r"
- expect "Confirm Password:"
- send "passCust\r"
- send "password rw\r"
- expect "New Password (4 to 16 characters):"
- send "pass\r"
- expect "Confirm Password:"
- send "pass\r"
- ## Prompt the user for a device number.
- send_user "Please enter a device number: "
- expect_user {
- -re {[0-9]+} {
- set device $expect_out(0,string)
- } -re .+ {
- send_user "Invalid device number.\n"
- send_user "Please enter a device number: "
- exp_continue
- }
- }
- # determine ip and default gw
- set subnet [address $device]
- set ip 192.168.1.[join $subnet .]
- set gw 192.168.[lindex $subnet 0].1
- send "set baseid 9\r"
- send "set apid 1\r"
- send "set defaultopmode su\r"
- send "set suid 179\r"
- send "freq writescan 3 h 4 h 2 h 1 h 5 h 6 h\r"
- send "remarks su179\r"
- send "ipconfig $ip 255.255.255.0 $gw\r"
- expect "save and activate ? (y/n)"
- send "y\r"
- interact