当前位置: 首页 > news >正文

华为批量下发配置命令使用telnetlib模块

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("所有设备处理完毕!")
http://www.jsqmd.com/news/145260/

相关文章:

  • 手足口病主要病原体:肠道病毒EV71结构与重组蛋白研究全解析
  • vivo X300 Pro:长焦封神但也有小遗憾
  • 写论文像 “拼乐高”?paperzz 毕业论文功能,把学术创作拆成 “简单题”
  • Python 爬虫实战:某高校场馆预约系统的 ASP.NET 动态状态流逆向分析
  • 副业党 / 创业者必看!玫瑰克隆行骗,鲁大魔 AI 软件纯骗人,守住血汗钱
  • 线下挑儿童羽绒服不踩坑!2025年口碑品牌实测指南(宝妈必收) - 品牌测评鉴赏家
  • noob12 反向输出一个四位数
  • 我读了OpenAI的GPT‑5.2提示指南,这样你就不用读了
  • 毕业季 “论文加速器”:paperzz 毕业论文功能,让学术创作少走弯路
  • 计算机Java毕设实战-基于springboot的居民小区物业管理系统的设计与实现基于SpringBoot的智慧物业服务系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 乐享云 v1.1.0| 不限速磁力下载,边下边播,内置字幕匹配
  • 重庆理工大学(CQUT)物理实验一RLC串联谐振
  • hot100-53搜索旋转排序数组
  • “AI写的?我发誓是自己想的!”——Paperzz降重/降AIGC功能,给你的论文穿上“人类思维”伪装衣
  • MBA必看!9个高效降aigc工具推荐,轻松应对AI检测
  • Java计算机毕设之基于SpringBoot+微服务教材征订系统基于SpringBoot的高校教材征订管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 完整教程:Ubuntu学习笔记-部署私有化Gitea服务器、Nginx反向代理
  • 英语_阅读_tanker trucks for carrying edible oil_待读
  • Linux下安装Nginx服务及systemctl方式管理nginx详情 - 指南
  • 2025年儿童羽绒服选购指南:从保暖到时尚,全方位呵护萌娃冬日 - 品牌测评鉴赏家
  • 安卓Framework 层详解
  • 论文「双降难题」破局:从重复率到 AIGC 疑似度,paperzz 降重 / 降 AIGC 功能一次搞定
  • 为GIT仓库项目设置独立配置参数
  • 学术圈公认最好用的十大降ai率产品全测评
  • python 数字类型和字符串类型的相互转换
  • 计算机Java毕设实战-基于微服务教材征订系统基于SpringBoot+vue的教材管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 深入解析:GitHub 一周热门项目速览 | 2025年12月1日
  • 小童童装怎么选?这篇高性价比推荐攻略宝妈必收藏 - 品牌测评鉴赏家
  • Week 9
  • scrapy基础知识之发送POST请求