开源中文网

您的位置: 首页 > 编程开发 > python > 正文

通过python来做个简单的telnet客户端工具

来源:  作者:

首先声明一下,下面的代码是从python2.6的chm上面取来了略作修改而来的,但是有了这个例子,我想加上其它的函数注解,很容易让我以后方便的进行开发的.
python中提供了telnetlib,可以非常方便的来进行telnet服务的访问.费话不说,直奔主题,看下例子先:

#coding:utf8

import getpass
import sys
import telnetlib

HOST = "192.168.1.103"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("ls\n")
tn.write("exit\n")

print tn.read_all()


这段代码设定的server为linux操作系统,我在fedora服务器下面调试没任何问题,如果你的telnet服务器是其它如windows或是其它网络设备,则可能要做些改动了.下面有些看法和建议:
1).对于所有的访问服务最好加上超时参数,如telnetlib.Telnet及read_until等,加上参数的话会让程序更加健壮.
2).write命令为向服务端发送或输入命令.
3).read_until为预期获取给定的字符串.
4).read_all会读取整个命令操作中的返回值,直到eof,不过只有在连接中断时才能返回值.
5).read_very_eager是一个非常有用的函数,可以用来模拟读取某个命令返回值的操作.

Tags:客户端 工具
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明