代码实例:
import telnetlib
ftp_serv_addr = '10.0.2.47'
ftp_usrname = 'godu1'
ftp_password = 'godu1'
tn = telnetlib.Telnet(ftp_serv_addr)
tn.read_until('ogin: ')
tn.write(ftp_usrname+'\n')
tn.read_until('assword: ')
tn.write(ftp_password+'\n')
tn.read_until('$ ')
aa = tn.write('ps -ef|grep CMD\n')
print(aa)
print('=====')
bb = tn.read_until('$ ')
print(bb)
运行结果:
None
=====
ps -ef|grep CMD
UID PID PPID C STIME TTY TIME CMD
godu1 4973 4945 0 16:00 pts/2 00:00:00 grep CMD
[godu1@goduserver ~]$
上面的例子首先说明了telnet客户端与服务端的交互都是用write方法发命令,用read_until方法接收返回结果。可以看到登录过程也是如此(只是返回结果的期望不同),write方法不返回结果,read_until方法返回所有接收到的字符串,包括命令提示符。