#!/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
}
}
Comments