Advertisement
rockdrilla

telnet autologin for D-Link|Extreme Networks switches

Oct 24th, 2014
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.38 KB | None | 0 0
  1. #!/usr/bin/env expect
  2. proc try_password { pass } {
  3.     expect {
  4.         {[Pp][Aa][Ss][Ss][Ww][Oo][Rr][Dd]*} { send "$pass\r" }
  5.         # fix for push_enable_admin in case of
  6.         # "You already have the administrator's privilege!"
  7.         {You already*} { return }
  8.     }
  9. }
  10. proc push_auth_tacacs {} {
  11.     send "$::env(tacacs_user)\r"
  12.     try_password "$::env(tacacs_pass)"
  13. }
  14. proc push_auth_builtin {} {
  15.     send "$::env(builtin_user)\r"
  16.     try_password "$::env(builtin_pass)"
  17. }
  18. proc push_enable_admin {} {
  19.     send "enable admin\r"
  20.     try_password "$::env(tacacs_sudo)"
  21. }
  22. proc go_interactive {} {
  23.     set timeout 0
  24.     send "# $::env(tacacs_user), welcome to $::env(ip)! :)\r"
  25.     interact -nobuffer
  26.     exit
  27. }
  28. proc try_auth_extreme { callback } {
  29.     expect {[Ll][Oo][Gg][Ii][Nn]*} { $callback }
  30.     expect {*# } { go_interactive }
  31. }
  32. proc try_auth_dlink { callback } {
  33.     expect {[Uu][Ss][Ee][Rr][Nn][Aa][Mm][Ee]*} { $callback }
  34.     expect {*#} { push_enable_admin; go_interactive }
  35. }
  36.  
  37. set timeout 5
  38. ### linux
  39. #   spawn -noecho telnet $::env(ip)
  40. ### freebsd
  41.     spawn -noecho telnet -4 -N $::env(ip)
  42.  
  43. sleep 1
  44. set timeout 5
  45.  
  46. if { $::env(vendor) == "extreme" } {
  47.     try_auth_extreme push_auth_tacacs
  48.     try_auth_extreme push_auth_builtin
  49.     try_auth_extreme exit
  50. }
  51.  
  52. if { $::env(vendor) == "dlink" } {
  53.     expect {User Access Verification} {
  54.         try_auth_dlink push_auth_tacacs
  55.     }
  56.     try_auth_dlink push_auth_builtin
  57.     try_auth_dlink exit
  58. }
  59.  
  60. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement