chatchai_j icon

oas-client.exp

chatchai_j | PRO | 06/30/11 05:12:01 AM UTC | 0 ⭐ | 861 👁️ | Never ⏰ | []
TCL |

3.2 KB

|

None

|

0 👍

/

0 👎

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