importtelnetlibimporttime# ===================== 配置区(修改以下内容)=====================DEVICE_LIST=[("192.168.1.13",23,"admin","Huawei@123"),# 思科设备1#("192.168.1.2", 23, "admin", "Cisco@123"), # 思科设备2]# 思科设备要执行的命令(示例)COMMANDS=["conf t",# 过特权模式"vlan 10",# 配置"show vlan",# 查看配置]CONNECT_TIMEOUT=10CMD_WAIT_TIME=2# ===================== 核心函数(适配思科设备)=====================deftelnet_cisco_device(host,port,username,password,commands):"""连接思科设备并执行命令,适配思科交互逻辑"""try:tn=telnetlib.Telnet(host,port,timeout=CONNECT_TIMEOUT)print(f"\n开始处理思科设备{host}=============================================================")# 1. 适配思科登录提示符(思科常用 Login: 而非 Username:)# 兼容两种提示符,避免匹配失败try:tn.read_until(b"Login:",timeout=5)# 思科默认登录提示符excepttelnetlib.socket.timeout:tn.read_until(b"Username:",timeout=5)# 兼容部分思科设备的Username提示tn.write(username.encode('utf-8')+b"\n")time.sleep(1)# 2. 输入密码(思科密码提示符为 Password:,和华为一致)tn.read_until(b"Password:",timeout=5)tn.write(password.encode('utf-8')+b"\n")time.sleep(2)# 思科登录后加载配置稍慢,延长等待# 3. 进入特权模式(思科核心:普通模式→特权模式,需enable密码)# 如果设备无需enable密码,注释以下3行tn.write(b"enable\n")# 进入特权模式命令tn.read_until(b"Password:",timeout=5)# enable密码提示符tn.write(password.encode('utf-8')+b"\n")# 输入enable密码(通常和登录密码相同)time.sleep(1)# 4. 设置终端不分页(避免命令结果被截断,思科核心优化)tn.write(b"terminal length 0\n")time.sleep(1)# 5. 批量执行命令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')# 过滤掉命令回显(只保留结果)result=result.replace(cmd,"").strip()print(f"结果:\n{result[:800]}...")# 思科结果较长,显示前800字符# 6. 退出并关闭连接tn.write(b"exit\n")tn.close()print(f"思科设备{host}处理完成 ==========================================================\n")exceptExceptionase:print(f"思科设备{host}处理失败:{str(e)}=================================================\n")# ===================== 主程序 =====================if__name__=="__main__":fordeviceinDEVICE_LIST:host,port,username,password=device telnet_cisco_device(host,port,username,password,COMMANDS)print("所有思科设备处理完毕!")锐捷设备批量下发配置telnetlib模块
张小明
前端开发工程师
Eureka在大数据领域的创新应用探索
Eureka在大数据领域的创新应用探索关键词:Eureka、大数据领域、服务发现、创新应用、分布式系统摘要:本文聚焦于Eureka在大数据领域的创新应用。首先介绍了Eureka的基本概念和大数据领域的背景,阐述了开展此研究的目的和范围,明确…
不用懂代码也能护网站!雷池雷池 SafeLine 的硬核防护指南
文章目录前言【视频教程】1.安装Docker2.本地部署SafeLine3.使用SafeLine4.cpolar内网穿透工具安装5.创建远程连接公网地址6.固定Uptime Kuma公网地址前言 雷池 SafeLine 是一款专为中小企业和开发者打造的开源 WAF(Web 应用防火墙),能自动拦…
spring-事务
一.事务简介(以银行账户转账为例) 1.案例简述 在本案例中,我们使用了 Spring 事务管理来确保银行账户的转账操作在出现问题时能够正确回滚,保持数据的一致性。(转账操作要么双方都成功,要么都失败…
论文「双降难题」破局:从重复率到 AIGC 疑似度,paperzz 降重 / 降 AIGC 功能一次搞定
Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 降重/降AIGChttps://www.paperzz.cc/weight 当论文查重报告弹出刺眼的红色重复率,或是 AIGC 检测显示「疑似度 90%」时,毕业党往往陷入两难:改得太浅过不了检…
2026科技热点预言:CES Asia“具身智能”展区已成产业风向标
2025年12月25日消息,当具身智能从技术概念迈入量产爆发前夜,CES Asia 2026“具身智能”展区的招商数据已提前锁定2026年产业风向。基于全球头部企业入驻名单的深度技术解析显示,人形机器人、AI大模型融合、高精度灵巧操作三大细分赛道已形成集…
MySQL 执行计划 EXPLAIN 常见的 Extra 信息解析
在 MySQL 的 EXPLAIN 输出中,Extra 列提供了关于查询执行计划的额外信息,这些信息有助于理解查询是如何被优化的、使用了哪些策略以及是否存在潜在的性能问题。下面是一些常见的 Extra 信息及其解释:常见 Extra 信息解析 1. Using index 表示…