广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么用Python连接telnet到网络设备
  • 119
分享到

怎么用Python连接telnet到网络设备

2023-06-02 02:06:59 119人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这期内容当中小编将会给大家带来有关怎么用python连接telnet到网络设备,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用Python连接telnet到网络设备0.前言Telnet协议属于tcp/IP

这期内容当中小编将会给大家带来有关怎么用python连接telnet到网络设备,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Python连接telnet到网络设备

0.前言

Telnet协议属于tcp/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但是,它的缺陷太明显了,就是不安全,信息明文传送,极容易被攻击窃取信息,不推荐使用,但本节我还是先从它入手哈。

测试环境及关键代码解释

1 简单测试环境

  • 使用内置telnetlib模块

  • 简单的实验环境

说明:

cmd.txt文件里面命令如下:

terminal length 0 show clock show ip interface brief

list.txt文件里面的IP如下:

192.168.1.101 192.168.1.102 192.168.1.103

2 关键代码

import xx:导入模块

class xx:定义类

def xx: 定义函数

try-except :处理可能引发的异常

tn.read_until(expected, timeout=None):等待预期字符串或等待超时

tn.write(buffer):写入的字符串(意思发送给命令给设备)

tn.expect(list, timeout=None):读显,list采用正则表达式(意思把执行过程显示出来)

tn.read_very_eager():读显(意思把执行过程显示出来)

tn.open(host, port=0[, timeout]):连接主机

tn.close():关闭连接

Tips:终端与网络设备交付的信息是以byte类型,所以要把终端上的字符串encode编码转换为byte对象,网络设备回显的byte信息要decode解码。

怎么用Python连接telnet到网络设备

完整代码

'''欢迎关注:'333' 此平台是网路工程师个人日常技术、项目案例经验分享, 为巩固及提升技术能力乃至共享所学所知技术 也欢迎各位工程师一起分享、一起成长。'''#!/usr/bin/env python#coding:utf-8'导入模块'from telnetlib import Telnetimport timeimport logging'定义类'class TelnetClient(): '初始化属性' def __init__(self): self.tn = Telnet() '定义login_host函数,用于登陆设备' def login_host(self,ip,username,passWord,enable=None,verbose=True): '连接设备,try-except结构' try: self.tn.open(ip,port=23) except: logging.warning('%s网络连接失败' %ip) return False '输入用户名' self.tn.read_until(b'Username:', timeout=1) self.tn.write(b'\n') self.tn.write(username.encode() + b'\n') rely = self.tn.expect([], timeout=1)[2].decode().strip() #读显 if verbose: print(rely) '输入用户密码' self.tn.read_until(b'Password:', timeout=1) self.tn.write(password.encode() + b'\n') rely = self.tn.expect([], timeout=1)[2].decode().strip() if verbose: print(rely) '进去特权模式' if enable is not None: self.tn.write(b'enable\n') self.tn.write(enable.encode() + b'\n') if verbose: rely = self.tn.expect([], timeout=1)[2].decode().strip() print(rely) time.sleep(1) rely = self.tn.read_very_eager().decode() if 'Login invalid' not in rely: logging.warning('%s登陆成功' % ip) return True else: logging.warning('%s登陆失败,用户名或密码错误' % ip) return False '定义do_cmd函数,用于执行命令' def do_cmd(self,cmds): '读取文件,for语句循环执行命令' with open(cmds) as cmd_obj: for cmd in cmd_obj: self.tn.write(cmd.encode().strip() + b'\n') time.sleep(2) rely = self.tn.read_very_eager().decode() logging.warning('命令执行结果:\n %s' %rely) '定义loGout_host函数,关闭程序' def logout_host(self): self.tn.close()if __name__ == '__main__': username = 'cisco' #用户名 password = 'cisco' #密码 enable = 'cisco' #特权密码 lists = 'list.txt' #存放IP地址文件,相对路径 cmds = 'cmd.txt' #存放执行命令文件,相对路径 telnet_client = TelnetClient() '读取文件,for语句循环登陆IP' with open(lists,'rt') as list_obj: for ip in list_obj: '如果登录结果为True,则执行命令,然后退出' if telnet_client.login_host(ip.strip(),username,password,enable): telnet_client.do_cmd(cmds) telnet_client.logout_host() time.sleep(2)

运行效果

备注:这个运行的效果我只存放了192.168.1.101这个IP,精简一下,为了效果。

报错效果

  • 远程连接不上

  • 用户名和密码错误

碎碎念

这些只是一些简单的代码,待优化的地方还是很多,先给小伙伴们学习一下,telnet协议是个不安全的,基本网络环境很少用了,ssh为常用的协议,安全又好用!

上述就是小编为大家分享的怎么用Python连接telnet到网络设备了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网Python频道。

--结束END--

本文标题: 怎么用Python连接telnet到网络设备

本文链接: https://www.lsjlt.com/news/228461.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Python连接telnet到网络设备
    这期内容当中小编将会给大家带来有关怎么用Python连接telnet到网络设备,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用Python连接telnet到网络设备0.前言Telnet协议属于TCP/IP...
    99+
    2023-06-02
  • 怎么连接到云服务器设备上面的网络设备
    确定您的云服务器的IP地址。确保您的云服务器是可用的,并且与您的网络连接正常。 确保您的路由器能够连接到云服务器的网络设备。这可能包括您的交换机、路由器或防火墙。 确保您的路由器和云服务器的网络设备之间的网络连接已经建立。您可以通过配置路...
    99+
    2023-10-28
    连接到 网络设备 服务器
  • 怎么连接到云服务器上的网络设备
    首先,要想连接到云服务器上的网络设备,首先需要确保网络设备与云服务器之间的连接已经建立,具体步骤如下: 首先需要在云服务器上开通网络访问权限,并且将相应的IP地址分配给云服务器的管理后台。 在云服务器上创建虚拟机,并在虚拟机上安装云服务...
    99+
    2023-10-27
    连接到 网络设备 器上
  • 怎么连接到云服务器设备里的网络
    一、连接到云服务器设备上的网络 在使用云服务提供商的服务之前,首先需要在云服务器设备上安装网络适配器。网络适配器是一种软件,它可以将网络设备连接到云服务器上。网络适配器通常需要使用网络连接和路由器或交换机配合使用。 在安装网络适配器之后,...
    99+
    2023-10-27
    连接到 服务器 设备
  • 使用网络adb连接android设备
    系统默认开启网络adb 1 打开cmd管理员,输入adb connect IP,例如:adb connect 192.168.4.39 2 返回connected to 192.168.4.39:5555 成功连接 ,可进行其它adb 指...
    99+
    2023-09-07
    android adb
  • 云服务器怎么重启网络设备连接
    如果您想重启您的云服务器,以下是一些简单的步骤: 检查您的网络连通性:检查您的网络设备是否能够正常连通,并检查服务器是否与其他设备正常通信。 断开网络设备电源:如果您的云服务器需要断开电源才能工作,则需要断开电源,然后重新将设备连接到网...
    99+
    2023-10-26
    重启 网络设备 服务器
  • 云服务器怎么重启网络连接设备
    如果您想重新连接网络设备(例如路由器或交换机),您可以按照以下步骤进行重启: 登录您的云计算平台:在本机上打开您的云计算平台,并按照步骤操作。如果您已经在本地计算机上安装了操作系统,请按照步骤操作。 查找您的网络设置:在本机或云计算平台...
    99+
    2023-10-26
    重启 服务器 设备
  • 云服务器怎么映射网络连接设备
    要映射网络连接设备,请按照以下步骤操作: 打开控制面板: 点击“网络和Internet”选项。 点击“连接到Internet”。 选择“云计算服务”。 点击“创建一个新的网络连接”。 输入要使用的网络连接名称。 单击“下一步”。 选择“...
    99+
    2023-10-26
    服务器 设备 网络
  • 云服务器怎么映射网络设备连接
    云服务器可以通过映射网络设备连接来支持不同的网络连接方式。以下是一些常见的映射网络设备的方法: 创建虚拟私有网络连接:在主云服务器中创建一个专门用于连接到其他云服务器的虚拟私有网络连接。这个连接需要使用云服务器的IP地址,并需要使用云服...
    99+
    2023-10-26
    网络设备 服务器
  • 云服务器怎么部署网络连接设备
    然后,你可以使用云服务器提供商提供的工具来配置网络连接设备。例如,你可以使用 opennux 工具来配置网络连接。OpenNux 是一个 Linux 服务器管理工具,它可以通过 GUI 界面来管理网络连接设备。 接下来,你需要在你的云服务...
    99+
    2023-10-27
    服务器 设备 网络
  • 云服务器怎么映射网络连接设备上网
    要将网络连接设备上网,可以通过以下步骤: 打开浏览器,输入云服务器的服务器IP地址,进入服务器主页。 在主页上找到“设置”选项,点击进入。 在设置页面中找到“网络连接”选项,点击进入。 在“网络连接”页面中,可以看到当前云服务器上的IP...
    99+
    2023-10-28
    服务器 设备 网络
  • 云服务器怎么用手机连接网络上网的设备
    使用云服务器上网的设备需要先安装与云服务器相应的客户端软件,以下是使用云服务器的步骤: 在主机或者服务器机架中安装所需要的软件,例如 Oracle 数据库软件或者 Tomcat 应用服务器。 在浏览器地址栏中输入 "your webpo...
    99+
    2023-10-26
    用手 服务器 设备
  • win10怎么设置网络连接
    在Windows 10中设置网络连接,你可以按照以下步骤操作:1. 点击Windows开始菜单,然后点击“设置”图标(齿轮形状)。2...
    99+
    2023-08-31
    win10
  • 云服务器怎么重启网络连接设备呢
    如果您想重启您的云服务器的连接设备,您可以按照以下步骤进行操作: 检查您的计算机上是否启用了防火墙。有些云提供商(例如亚马逊和微软)会使用他们的安全软件(例如 Amazon Antivirus 或 Google Fire Scriber...
    99+
    2023-10-27
    重启 服务器 设备
  • 云服务器怎么映射网络连接设备上
    要映射网络连接设备上的数据,请按照以下步骤操作: 打开浏览器,在地址栏中输入http://localhost:5000/然后选择以下任意一种方式(例如:https://localhost:5000): 选择“localhost:5000...
    99+
    2023-10-27
    服务器 设备 网络
  • 怎么连接到云服务器上的网络设置
    打开控制面板,选择“网络和Internet”,点击“网络和共享中心”。 在“网络和共享中心”中,找到“更改适配器设置”。 点击“云服务器”,在右侧的窗口中找到需要连接的云服务器,并点击“连接”。 在弹出的“连接”窗口中,确保“使用您的VP...
    99+
    2023-10-27
    连接到 器上 网络
  • 怎么连接到云服务器里的网络设置
    首先,我们需要确定云服务器的网络设置是否正确。这可能需要一些时间来收集和整理云服务器提供商的网络设置信息,并了解云服务器的工作原理。如果我们无法正确地设置网络设置,我们可能会遇到以下问题: 连接问题:云服务器通常会提供多种网络连接选项,...
    99+
    2023-10-27
    连接到 器里 网络
  • 云服务器怎么用摄像头连接网络的设备
    要使用摄像头连接网络的设备,请按照以下步骤操作: 打开浏览器,在地址栏中输入 URL:https://服务器名称:admin5.cloudflare.com/ 进入 Open DV 网站,并按照网页上的提示注册账户。注册账户时,您应该提...
    99+
    2023-10-27
    摄像头 服务器 设备
  • 云服务器怎么用摄像头连接网络上网的设备
    首先,使用摄像头连接网络上网的设备需要确保其具有IP地址过滤功能。这意味着摄像头的IP地址应该是随机生成的,而不是固定的IP地址。IP地址过滤可以防止恶意的摄像头设备连接到您的网络,从而影响您的网络安全。 其次,需要确保摄像头设备有良好的...
    99+
    2023-10-27
    摄像头 服务器 设备
  • 怎么连接到云服务器设备
    如果您需要连接到云服务器设备,请确保您已经安装了适当的云服务器软件,例如 Microsoft Azure、Google Cloud Platform或其他可用的 云计算平台。下面是一些常见的步骤,可以帮助您开始连接到云服务器: 检查您的...
    99+
    2023-10-26
    连接到 服务器 设备
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作