0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网络工程师学Python-远程连接管理Telnet

网络技术干货圈 来源:网络技术干货圈 2023-04-28 09:47 次阅读

Python Telnet是一种用于远程连接和管理网络设备的Python库。使用Python Telnet,您可以在远程设备上执行命令、上传和下载文件、设置Telnet代理等。在本文中,我们将介绍一些流行的Python Telnet库,以及如何在Python中使用它们。

Telnetlib

telnetlib是Python标准库中用于Telnet连接和管理的模块。它提供了一个Telnet客户端的实现,用于远程连接设备并执行命令。下面是一个使用telnetlib进行Telnet连接和执行命令的示例:

importtelnetlib

tn=telnetlib.Telnet('example.com')
tn.read_until(b'login:')
tn.write(b'username
')
tn.read_until(b'Password:')
tn.write(b'password
')
tn.read_until(b'$')
tn.write(b'ls
')
print(tn.read_all().decode('ascii'))
tn.close()

上述代码创建了一个Telnet连接到example.com服务器,并使用提供的用户名和密码进行身份验证。然后,它在远程设备上执行ls命令,并将命令输出打印到控制台。

Telnetlib3

Telnetlib3是一个Telnet客户端库,用于连接和管理网络设备。它提供了更高级的功能,例如自定义提示、协议交换和Telnet选项处理。下面是一个使用Telnetlib3进行Telnet连接和执行命令的示例:

fromtelnetlib3importTelnet

asyncdefmain():
asyncwithTelnet('example.com')astn:
awaittn.wait_for('login:')
awaittn.writeline('username')
awaittn.wait_for('Password:')
awaittn.writeline('password')
awaittn.wait_for('$')
awaittn.writeline('ls')
output=awaittn.read_until_close()
print(output)

asyncio.run(main())

上述代码使用Telnetlib3创建了一个异步的Telnet连接到example.com服务器,并使用提供的用户名和密码进行身份验证。然后,它在远程设备上执行ls命令,并将命令输出打印到控制台。

Nornir

Nornir是一个用于网络自动化的Python库,它使用Telnetlib和Netmiko实现了自动化网络设备管理。它提供了一个统一的API,用于管理远程设备的配置、文件传输、文件操作等。下面是一个使用Nornir连接到网络设备并执行命令的示例:

fromnornirimportInitNornir
fromnornir.plugins.tasks.networkingimportnetmiko_send_command

nr=InitNornir(config_file='config.yaml')
result=nr.run(task=netmiko_send_command,command_string='showinterfaces')
fordevice,outputinresult.items():
print(f'{device}:{output.result}')

上述代码使用Nornir创建了一个Telnet连接到网络设备,执行show interfaces命令,并将输出打印到控制台。

总结

Python Telnet提供了一种强大的方式来管理网络设备,包括远程连接、执行命令、上传和下载文件等。在本文中,我们介绍了一些流行的Python Telnet库,包括telnetlib、Telnetlib3和Nornir。无论您是一名网络管理员还是网络自动化工程师,Python Telnet都是您必须掌握的技能之一。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TELNET
    +关注

    关注

    0

    文章

    16

    浏览量

    10734
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83468

原文标题:网络工程师学Python-32-远程连接管理Telnet

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    网络工程师培训资料

    `<p><font face="Verdana"><strong>网络工程师
    发表于 12-04 09:31

    华为网络工程师培训教材

    华为网络工程师培训教材
    发表于 08-16 17:27

    华为“网络工程师”培训专用教程

    华为“网络工程师”培训专用教程
    发表于 08-18 15:12

    硬件工程师学习资料

    硬件工程师学习资料
    发表于 11-21 09:34

    急需 RF 网络工程师

    急需RF 网络工程师职业技能:熟悉 GSM/UMTS、KPI分析及参数优化,熟悉RNO工具,如M2000,PRS,Nastar,OMstar等职业要求:1、5年以上网优工作经验,有华为相关经验2
    发表于 06-02 22:13

    华为3Com认证网络工程师(HCNE)测试题

    华为3Com认证网络工程师(HCNE)测试题
    发表于 10-09 08:52

    AIoT智能物联网工程师学习路线规划以及详细解析

    大家好,我是老白。今天给大家带来AIoT智能物联网工程师学习路线规划以及详细解析。AIoT智能物联网工程师学习路线详解AIoT学习路线规划学习阶段阶段名称主题 阶段一Python基础与科学计算掌握
    发表于 08-23 06:06

    2004-2012网络工程师试题

    2004-2012网络工程师试题是工程师学习通关的必备书籍
    发表于 06-17 16:33 0次下载

    什么是网络工程师

    什么是网络工程师网络工程师就是通过学习和训练,掌握了网络技术的理论知识和操作技能的网络技术人员。网络工程师能够从事计算机信息系统的设计、建
    的头像 发表于 02-19 14:28 7160次阅读

    网络工程师学Python-继承概念介绍

    Python 中,继承是一种重要的面向对象编程概念。通过继承,我们可以定义一个新的类,它继承了现有类的属性和方法。
    的头像 发表于 04-20 16:56 316次阅读

    网络工程师学Python-迭代器

    迭代器是 Python 中非常重要的概念之一,它是一种对象,可以在代码中按顺序访问一组值。
    的头像 发表于 04-20 16:58 747次阅读

    网络工程师学Python-文件打开

    Python中,可以使用open()内置函数打开文件,以执行一系列文件的操作。在本文中,将介绍Python中打开文件的基础知识及常用的打开模式。
    的头像 发表于 04-27 09:14 429次阅读

    网络工程师学Python-文件处理

    当涉及到 Python 文件处理时, 我们通常会涉及到文件的读取和写入, 以及文件的操作和处理。
    的头像 发表于 04-27 09:21 428次阅读

    网络工程师学Python-文件删除

    Python 文件删除是 Python 开发中常用的一项操作,本文将针对 Python 中的 os 模块提供多个示例,介绍如何删除不同类型的文件。
    的头像 发表于 04-27 09:24 320次阅读

    网络工程师学Python-开源自动化部署工具Fabric

    Python Fabric是一个基于Python的开源自动化部署工具,可以简化管理远程服务器的过程。
    的头像 发表于 04-28 09:54 498次阅读