
- import telnetlib,threading
- ^3 v) w4 p- W8 m+ w - ipfile = open('swiplist.txt')* R. B; q7 X5 x4 T7 M
- ipall = [ ip.strip('\n') for ip in ipfile.readlines() ]
/ |9 L+ h3 e/ |/ Q/ Y3 e6 T - def get_mac(ip):
2 T; R1 }, S* G3 q" x* X9 A - try:) c: [( M0 s* r- Z7 `9 u! [& d
- tel = telnetlib.Telnet(ip)
+ J1 A+ | K/ L7 L4 m4 X - tel.read_until('Username:')
$ S" m) N3 G' g8 T3 \$ W - tel.write('admin'+'\n')
) T% x6 N- X3 w. }+ r - tel.read_until('Password:')
: n+ \# }7 Y; ~0 N - tel.write('password'+'\n')2 }3 m; V4 l# h' v% \( K: B5 T7 \
- tel.read_until('>')
9 N, Z- f+ \; ^/ | k, L" S5 f - tel.write('dis mac-add ' + mac +'\n')
- D* A. N8 ]& H - data = tel.read_until('>'); u7 b- ?: Z' t' i0 c2 k& \
- if 'sticky' in data:7 s1 o% ]* Z* @
- print 'telnet '+ ip
2 m) {0 @! E! I1 _+ l, [ - print data
7 n7 h$ T% S5 `1 P. m - print ip,'done'
3 F" S9 |4 E t# ]: K( G - except:print 'can not connect to %s' %ip
( ^, U) L' b" R0 ^, Q# M! Z ` - threads = []" q: {/ P# n9 W, K9 }
- numbers = range(len(ipall))
3 n! j8 [/ W8 X, f6 W5 s - mac = raw_input('input mac add ,like => aabb-ccdd-eeff \n >')
8 _" {' N x" Y# z( d - for i in numbers:; L0 o0 G+ Z6 S* H. N
- t = threading.Thread(target=get_mac,args=(ipall[i],))+ Y r, r. u1 `% J W7 x
- threads.append(t)! [( T; p4 ^8 G' z( B
-
4 s `2 I- t/ ], [' H W- ] - if __name__ == '__main__':* J# [4 p! i) e9 A* }! A9 j; e
- for i in numbers:
# I/ o4 B* ?0 A - threads[i].start()
# n+ E( | N# K! C+ e% Y+ E: e -
- P5 E) T4 q. g& r3 \5 | - print 'all done'
复制代码 0 W+ E/ D. ]8 w( Z% K$ ^& n
9 T( I/ i% {+ N; S8 ~& z/ l( F2 B# \2 Z+ U% V+ u" n7 R
|
|