
- |, ?: M5 P, jpython的好处就不说了,移植起来太容易了。
. K3 x% l: [8 \- w5 B3 x* X还是好好说说python怎么telnet到CISCO路由器上并抓取配置清单的脚本吧:* B3 j n' Z/ S6 P8 }" R w, g' l
0 a7 K) a g- k6 n" v9 O
! U5 M" X4 L6 q( h# K0 Q
a9 j+ L% A& i6 d6 ~! y( \import telnetlib+ @( q! W: K `$ Y, g& H3 y
tn = telnetlib.Telnet(), a F9 q; W9 t# M
' ]1 C- c6 H& H' H `4 a9 r5 R$ H9 otn.open('192.168.0.1', 23) # telnet 到路由器; Q5 q; B$ A2 Z0 i0 P
tn.read_until(b'RT1',2) #等待RT1字符,按道理应该是在等'username:’字符;; X" T0 C0 v" n* ]+ h- ]
print('RT1, has displayed') #print一个提示信息,
/ `1 |. N, D) ]& r# E# P$ ltn.write(b'enable\r\n') #发送enable命令% J2 }5 q) \: N4 [, s8 W L
tn.write(b'cisco\r\n') #发送enable 密码:cisco5 K1 K% H B5 a0 R
tn.write(b'show run\r\n') #发送show run命令6 K5 s& _) Y5 Z8 ^9 W0 r
tn.write(b' ') #发送空格,为的是出现more的时候继续显示
. b, X$ N6 ~0 Q0 j1 ^4 kprint("myname:\r\n") #print一个字符,
$ _. f2 A! T, Jabc = tn.read_very_eager() #将所有显示的信息,包括发送的命令进行捕获! }4 |$ R& X/ n7 N
print(abc) #显示捕获到的信息,这个信息是不堪入目的;2 h. `& n. f% T+ b1 c
print(abc.decode('utf8')) #更改编码格式进行显示,这回就好看多了;1 v! y7 j0 e4 z/ }, \, I
f = open('ttt.txt',mode='w',encoding = 'ascii') #打开文件ttt.txt,准备将捕获的内容写入文件9 b* a* A0 h* R
f.write(abc.decode('ascii')) #将捕获的信息写入文件ttt.txt,ascii和utf8好像差不不大,这个有待研究
3 V5 D- \8 s: k4 e8 sf.close() # 关闭文件
0 p- h& ]! ]$ _. P: @7 T |
|