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模块
张小明
前端开发工程师
《被讨厌的勇气》精读笔记
我终于明白:自由从来不是“被理解”,而是“被拒绝也敢走下去” 📖 书名:《被讨厌的勇气》 🧠 作者:岸见一郎 古贺史健 🧱 理论基础:阿德勒心理学 🗓 阅读时间࿱…
《复利效应》精读笔记
作者:达伦哈迪(Darren Hardy) 主题:用微小而持续的行动,撬动长期的巨大成果。一、核心思想 成功不是一夜之间的奇迹,而是日复一日小行动的累积,就像银行利息的复利一样,时间越久&…
【Linux作业】用C语言实现一个简单的文件复制工具
作业具体要求如下所示: 一、环境准备 # 1. 确保有 gcc 编译器 sudo apt update sudo apt install gcc build-essential# 2. 创建项目目录 mkdir file-copier cd file-copier二、代码实现 创
竞赛毕业设计定做作品---【芳心科技】F. 机智云睡眠质量数据检测
实物效果图:实现功能:本研究课题旨在设计并实现一种非接触式睡眠监控系统,为确保研究的有效性和系统性,本设计规划了以下研究方法和技术路线:首先,进行需求分析与系统设计。通过调研现有睡眠监控系统的优缺…
【建议收藏】别再只会写 CRUD 了!2025年程序员必须要掌握的“全栈AI”架构演进方案
摘要: 现在的面试不看你写了多少行代码,而看你如何利用 AI 工具提升 10 倍生产力。本文将深度拆解如何将 DeepSeek 集成到现有的微服务架构中,实现从代码自愈到智能化运维的飞跃。🚀 为什么你写了 5 年代码,还是会被裁…
毕业季 “论文加速器”:paperzz 毕业论文功能,让学术创作少走弯路
Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 当毕业季的 “论文大山” 压过来,你是不是也在经历这些崩溃时刻:选题想破头却怕重复…