Python之telnetlib模块

摘要:
Telnetlib是python标准库的成员。我们可以使用此模块以telnet模式与服务器交互。Telnetlib实现了一个实现Telnet协议的Telnet类。此类在初始化期间调用Telnet。open()函数帮助客户端建立与服务器的Telnet连接。连接完成后,您可以通过以下功能与服务器交互:Telnet。read_Util():读取直到遇到给定的预期字节字符串,或者超时。Telnet。write():将字节字符串写入套接字。Telnet。close():用于关闭telnet连接。

telnetlib是python标准库中的一员,我们可以使用该模块以telnet的方式与服务器交互。请观察下面示例了解它的用法:

import telnetlib


def run_telnet(host, username, password, commands):
    """
    连接并登录服务器后,执行命令串
    """
    # 连接Telnet服务器
    tn = telnetlib.Telnet(host, port=23, timeout=10)
    tn.set_debuglevel(1)

    # 输入登录用户名
    tn.read_until(b'login: ')
    tn.write(username.encode('utf-8') + b'
')

    # 输入登录密码
    tn.read_until(b'Password: ')
    tn.write(password.encode('utf-8') + b'
')
    tn.read_until(b'
$')

    # 登录完毕后执行命令
    for command in commands:
        tn.write(command.encode('utf-8') + b'
')
        tn.read_until(b'
$')

    # 终止Telnet连接
    tn.close()


if __name__ == '__main__':
    command_list = ['pwd', 'ls']
    run_telnet('172.31.0.151', 'username', 'password', command_list)

上述示例中依次完成了客户端与服务器的telnet连接,通过用户名及密码登录服务器,登陆后执行指定的命令串。telnetlib实现了一个Telnet类,该类实现了Telnet协议。该类在初始化过程中,调用了Telnet.open()函数,帮助客户端与服务器建立telnet连接。连接完成后,可以通过以下函数与服务器进行交互:

  • Telnet.read_until() :读取直到遇到给定的预期字节字符串,或者超时 。
  • Telnet.write() :将字节字符串写入套接字。
  • Telnet.close() :用于关闭telnet连接。

参考资料

  • https://docs.python.org/zh-cn/3.9/library/telnetlib.html

免责声明:文章转载自《Python之telnetlib模块》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vscode 配置基于Springboot集成security、oauth2实现认证鉴权、资源管理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python的断言assert

断言是用来判断是否让程序继续执行的一种辅助策略,可以提前阻止因为有些条件不满足而导致的程序崩溃。 断言的语法非常简单:assert express 如果experss为true, 程序继续执行,如果是false,则返回。 def divide(s): n = int(s) assert n != 0, 's should not be ze...

scrapyd-deploy 把scrapy项目打包上传部署到scrapyd服务端报错 Deploy failed (500)

Outline 在把scrapy任务部署到scrapyd服务上时,遇到问题一直不成功: 报错如下: (Deploy failed (500):,部署失败) scrapyd-deploy muji_data_python_spider -p muji_data_python_spider Packing version 1617328541 scrapyd...

Python开发WebService--使用soaplib库

Python开发WebService--使用soaplib库   使用soaplib开发基于Python语言的WebService主要有以下四个步骤:一、准备环境    S1:下载插件Python、soaplib、Twisted、lxml(soaplib依赖于lxml这个库)    S2:使用easy_install快速安装,如进入Python安装目录下(...

python接口自动化测试二十五:执行所有用例,并生成HTML测试报告

      import requestsimport unittestclass TestQQ(unittest.TestCase):    '''测试QQ号接口'''      # 此注释将展示到测试报告的测试组类    def test_qq(self):        '''测试QQ号码,正确的appkey'''      # 此注释将展示到测试报...

[Python自学] Flask框架 (3) (路由、CBV、自定义正则动态路由、请求处理流程、蓝图)

一、路由系统 1.浅析@app.route的源码 我们使用@app.route("/index")可以给视图函数加上路由映射。我们分析一下@app.route装饰器的实现源码: def route(self, rule, **options): def decorator(f): endpoint = options.pop("en...

MicroPython刷写固件(一)

烧录固件工具 ESP FLASH DOWNLOAD TOOL 第一步,安装Python环境。这里要注意一下,Python环境分2和3两种,esptool.py是需要在Python2环境下运行的,在Python3环境下会报错。我安装的是Python27,下载地址 安装完成后会提示是否添加环境变量,选择添加环境 变量即可,如果后面在命令提示符中使用Python...