免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1957 | 回复: 0
打印 上一主题 下一主题

通过python来做个简单的telnet客户端工具 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-22 00:50 |只看该作者 |倒序浏览


首先声明一下,下面的代码是从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是一个非常有用的函数,可以用来模拟读取某个命令返回值的操作.

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15586/showart_1871224.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP