importtelnetlibimporttime# ===================== 配置区(修改以下内容)=====================# 批量设备列表:[(IP, 端口, 用户名, 密码), ...]DEVICE_LIST=[("192.168.1.11",23,"admin","Huawei@123"),# 设备1("192.168.1.12",23,"admin","Huawei@123"),# 设备2]# 要批量下发的命令(按执行顺序写)COMMANDS=["sys",# 示例:进系统模式"vlan 10",# 示例:建立vlan"dis vlan",# 示例:查看配置]# 超时/等待参数(根据设备响应速度调整)CONNECT_TIMEOUT=10# 连接超时时间(秒)CMD_WAIT_TIME=2# 执行每条命令后的等待时间(秒)# ===================== 核心函数 =====================deftelnet_device(host,port,username,password,commands):"""连接单台设备并执行命令"""try:# 1. 建立Telnet连接tn=telnetlib.Telnet(host,port,timeout=CONNECT_TIMEOUT)print(f"\n开始处理设备{host}==================================================================")# 2. 输入用户名(匹配Username: 提示符)tn.read_until(b"Username:",timeout=5)tn.write(username.encode('utf-8')+b"\n")time.sleep(1)# 3. 输入密码(匹配Password: 提示符)tn.read_until(b"Password:",timeout=5)tn.write(password.encode('utf-8')+b"\n")time.sleep(1)# 4. 批量执行命令forcmdincommands:print(f"执行命令:{cmd}")# 发送命令(加换行符表示回车执行)tn.write(cmd.encode('utf-8')+b"\n")time.sleep(CMD_WAIT_TIME)# 读取命令执行结果result=tn.read_very_eager().decode('utf-8',errors='ignore')# 打印结果(仅展示关键内容,避免刷屏)print(f"结果:\n{result.strip()[:500]}...")# 只显示前500字符# 5. 关闭连接tn.close()print(f"设备{host}处理完成 ====================================================================\n")exceptExceptionase:print(f"设备{host}处理失败:{str(e)}==========================================================\n")# ===================== 主程序 =====================if__name__=="__main__":# 遍历设备列表,逐个处理fordeviceinDEVICE_LIST:host,port,username,password=device telnet_device(host,port,username,password,COMMANDS)print("所有设备处理完毕!")华为批量下发配置命令使用telnetlib模块
张小明
前端开发工程师
【光伏耦合PEM制氢】风光储与电解制氢系统仿真模型【Simulink】
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码获取及仿…
高光谱成像:分析波长,可视化细微的色彩、材质差异和异物
在机器视觉系统成像过程中,光源起着重要作用,合适的光源方案可以极大降低图像处理算法的复杂度,提高系统的稳定性、精度和速度。近年来,各领域利用高光谱成像技术进行检测的市场规模不断扩大,对高光谱相机和相应光源的…
Java毕设选题推荐:基于SpringBoot的智慧物业服务系统的设计与实现基于springboot的居民小区物业管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
Java创建对象的方式
一、使用new关键字通过new 类名()调用类的构造方法来创建类的对象,是开发中最常用的方式,直接调用,可控性强。示例代码:创建Person类通过new关键字创建Person类的实例对象运行结果:二、使用反射机制,通过cl…
MBA必看!9个高效降aigc工具推荐,轻松应对AI检测
MBA必看!9个高效降aigc工具推荐,轻松应对AI检测 AI降重工具:MBA论文的高效助手 在当前学术研究中,AI生成内容(AIGC)的广泛应用带来了新的挑战。许多MBA学生在撰写论文时,不可避免地使用到AI辅助…
“别卷了,让AI替你熬通宵”——Paperzz毕业论文功能,给学术苦旅装上自动驾驶系统
Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 导语: 当导师在群里你“初稿呢?” 当你在凌晨三点对着空白文档发呆,咖啡…