eNSP中玩转Python自动化——解锁网工新姿势(九)

本文介绍了如何在eNSP环境中利用Python进行网络自动化配置,通过sys.argv[]实现不修改代码即切换配置文件。在不同型号设备上执行相同功能的命令时,通过创建不同txt文件存储命令,使用Python脚本读取并配置设备。文中提供实验拓扑、SSH配置,并指导创建ip_list.txt和com.txt文件,以动态指定要配置的设备和命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候你不Debug一下,你都不知道什么叫绝望。
在这里插入图片描述


python网络自动化中代码复用


问题描述

当面对不同型号的设备的设备时,实现同一功能的命令很有可能会不同,特别是在网络环境较大的情况下,如果对于不同的设备都通告command.send()方法写入命令,十分复杂,所以我们可以按照(八)中方法对需要完全相同配置的设备创建不同的command.txt文件,然后再代码进行文件操作。但是这种方式也有一定的弊端,也就是每次运行代码的时候需要修改代码中打开的文件。

解决方案

  • 通过另一种方式在不修改代码的情况下,打开不同的txt文件进行操作。
  • 使用sys.argv[]来记录打开的文件名称。argv[]变量是
ensp是一款嵌入式网络模拟平台,可以用于模拟网络设备的运行环境。在ensp玩转Python自动化,可以实现批量修改交换机的登录密码。 首先,我们可以使用Python的Paramiko库来连接交换机,并通过SSH协议进行远程操作。在开始之前,需要确保已经安装了Paramiko库。 接下来,首先需要创建一个函数来连接交换机。在函数中,可以指定交换机的IP地址、登录用户名和密码,并通过SSH协议进行连接。 在连接成功后,可以通过发送指令来修改交换机的登录密码。使用Paramiko库提供的SSHClient对象的`exec_command`方法,可以向交换机发送指令,并接收返回结果。 具体的操作步骤如下: 1. 导入所需的库: ```python import paramiko import time ``` 2. 创建连接函数: ```python def connect_switch(ip, username, password): ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(ip, username=username, password=password) return ssh_client ``` 3. 修改登录密码函数: ```python def change_password(ip, username, password, new_password): ssh_client = connect_switch(ip, username, password) command = f"passwd {username}\n" # 发送修改密码的指令 stdin, stdout, stderr = ssh_client.exec_command(command) stdin.write(password + "\n") # 输入旧密码 stdin.write(new_password + "\n") # 输入密码 stdin.write(new_password + "\n") # 再次输入密码 time.sleep(1) output = stdout.read() + stderr.read() ssh_client.close() return output ``` 4. 调用修改密码函数: ```python if __name__ == '__main__': ip = "交换机IP" username = "登录用户名" password = "登录密码" new_password = "密码" output = change_password(ip, username, password, new_password) print(output) ``` 以上就是使用Python自动化批量修改交换机登录密码的方法。在ensp中,可以通过编写Python脚本,实现自动化的操作,提高作效率。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李白你好

年轻人,少吐槽,多搬砖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值