
- import telnetlib,threading
3 `" n7 t" g% n& E8 C - ipfile = open('swiplist.txt')
: E7 c& v6 }' a2 X2 q) {3 s8 r - ipall = [ ip.strip('\n') for ip in ipfile.readlines() ]$ K1 Y! S8 C G: [" |% M& @/ S
- def get_mac(ip):3 z( ?& f* t0 B, v! f) F" u; B& u
- try:
$ O. d4 T$ U4 U9 q) j5 u - tel = telnetlib.Telnet(ip)9 X J: Q9 l9 `: C M5 L
- tel.read_until('Username:')- U" l- N. E6 l5 m8 ?8 s
- tel.write('admin'+'\n'); ~2 q2 e: d, |% v6 r8 C% U
- tel.read_until('Password:')* D5 L2 ?; q8 P5 @+ v
- tel.write('password'+'\n')
8 U$ N, @% g9 V2 } - tel.read_until('>')
: v N' w* s0 H; v% g) N - tel.write('dis mac-add ' + mac +'\n')
4 K& |7 o# [6 t" M. C4 {7 V - data = tel.read_until('>')
* n- q% |% s! v- j! W: r1 S - if 'sticky' in data:5 i# e, h( u4 m/ _7 h$ ^
- print 'telnet '+ ip
' I0 V6 s% g; @6 b2 [. v - print data
' J" ^4 k: I# I0 r) J' p+ Z - print ip,'done'- D& |+ K3 M0 u9 G5 ]
- except:print 'can not connect to %s' %ip3 y( ~, s/ ?. c0 ^8 t
- threads = []& ]9 E! p$ p @. @ f0 h2 F
- numbers = range(len(ipall))
. c+ I m& V$ a. c0 c - mac = raw_input('input mac add ,like => aabb-ccdd-eeff \n >'), b+ r! K' ~ W5 ~: }
- for i in numbers:
8 z* l: S% y0 g! M% d4 s$ Q. D: ? - t = threading.Thread(target=get_mac,args=(ipall[i],))8 I0 l% D4 s! `
- threads.append(t). x* i2 Y: e6 r0 b
-
. V( j- `6 N+ g$ U+ a/ t( g) o - if __name__ == '__main__':
: i6 w& N; W6 W- K8 `6 ?' N - for i in numbers:5 c9 c, q6 g4 v8 ?; n/ P/ p
- threads[i].start()' n) a* v3 @$ a, u5 L
-
7 N. O3 ~0 H5 j7 p. K - print 'all done'
复制代码 , n1 e( n1 C: ^( h- b* A% v
: }( T& {) C( n
$ q/ u p: o& r/ h( q3 }8 t
|
|