#!/usr/bin/expect # updated by WIPAT 2554-06-10 # get esw.oas.psu.ac.th set ROUTER "x.x.x.x" set USER "xxxx" set PASSWORD "xxxx" set PROMPT "gsw-oas>" set WAIT_SECONDS 60 set NETWORK1 "192.168.159.0/24" set NETWORK2 "192.168.160.0/24" set NETWORK3 "192.168.161.0/24" set NETWORK4 "192.168.178.0/24" set MYSCRIPT1 "/etc/mrtg/oas-client-exp1.sh" set MYSCRIPT2 "/etc/mrtg/oas-client-exp2.sh" set MYSCRIPT3 "/etc/mrtg/oas-client-exp3.sh" set MYSCRIPT4 "/etc/mrtg/oas-client-exp4.sh" set MYTEMP [timestamp] set TEMP1 "/tmp/get-esw-oas-client1.temp1.$MYTEMP" set TEMP2 "/tmp/get-esw-oas-client2.temp1.$MYTEMP" set TEMP3 "/tmp/get-esw-oas-client3.temp1.$MYTEMP" set TEMP4 "/tmp/get-esw-oas-client4.temp1.$MYTEMP" set MYFILE1 [open $TEMP1 w] spawn telnet $ROUTER match_max 100000 expect "Password:" send "$PASSWORD\r" expect "$PROMPT" while 1 { system "nmap -n -sP --unprivileged $NETWORK1 > /dev/null" send "show ip arp vlan2\r" expect { "More--" { puts $MYFILE1 $expect_out(buffer); send " " ; exp_continue } "$PROMPT" { puts $MYFILE1 $expect_out(buffer); close $MYFILE1; system "bash $MYSCRIPT1 $TEMP1"; set MYFILE2 [open $TEMP2 w]; system "nmap -n -sP --unprivileged $NETWORK2> /dev/null"; send "show ip arp vlan3\r"; expect { "More--" { puts $MYFILE2 $expect_out(buffer); send " " ; exp_continue } "$PROMPT" { puts $MYFILE2 $expect_out(buffer); close $MYFILE2; system "bash $MYSCRIPT3 $TEMP2"; set MYFILE3 [open $TEMP3 w]; system "nmap -n -sP --unprivileged $NETWORK3> /dev/null"; send "show ip arp vlan4\r"; expect { "More--" { puts $MYFILE3 $expect_out(buffer); send " " ; exp_continue } "$PROMPT" { puts $MYFILE3 $expect_out(buffer); close $MYFILE2; system "bash $MYSCRIPT3 $TEMP3"; set MYFILE4 [open $TEMP4 w]; system "nmap -n -sP --unprivileged $NETWORK4> /dev/null"; send "show ip arp vlan5\r"; expect { "More--" { puts $MYFILE4 $expect_out(buffer); send " " ; exp_continue } "$PROMPT" { puts $MYFILE4 $expect_out(buffer); close $MYFILE4; system "bash $MYSCRIPT4 $TEMP4"; sleep $WAIT_SECONDS; set MYFILE1 [open $TEMP1 w] system "nmap -n -sP --unprivileged $NETWORK1> /dev/null"; send "show ip arp vlan4\r"; } } } } } } } exp_continue } }