实验目的:在python中利用telnetlib模块telnet登录交换机配置环回接口地址
实验拓扑
交换机桥接到主机10.1.1.253/24(我这里主机是ubuntu,上面python安装系统已经预装了)
实验环境准备
交换机开启telnet
sys
aaa
local-user huawei password cipher Huawei@123
local-user huawei privilege level 15
local-user huawei service-type telnet
telnet server enable
user-interface v 0 4
user privilege level 15
protocol inbound all
authentication-mode aaa
测试主机到交换机通信
telnet登录测试
python代码
import telnetlib # 导入telnetlib模块,用于创建Telnet连接
import time # 导入time模块,用于暂停执行
# 设备连接信息
host = '10.1.1.2' # 目标主机的IP地址
user = 'huawei' # 登录用户名
password = 'Huawei@123' # 登录密码
# 创建Telnet连接到目标主机
tn = telnetlib.Telnet(host)
# 等待设备提示输入用户名
tn.read_until(b'Username:') # 读取直到出现“Username:”提示符
# 输入用户名
tn.write(user.encode('ascii') + b'\n') # 发送用户名并添加换行符
# 等待设备提示输入密码
tn.read_until(b'Password:') # 读取直到出现“Password:”提示符
# 输入密码
tn.write(password.encode('ascii') + b'\n') # 发送密码并添加换行符
# 发送配置命令
tn.write(b'sy\n') # 进入系统视图(或命令模式)
tn.write(b'int lo0\n') # 进入接口 lo0 的配置模式
tn.write(b'ip add 2.2.2.2 32\n') # 为接口 lo0 配置IP地址为 2.2.2.2/32
# 等待1秒,确保之前的命令已执行
time.sleep(1)
# 退出接口配置模式并回到系统视图
tn.write(b'q\n') # 发送退出命令
# 读取并打印设备返回的所有数据
print(tn.read_very_eager().decode('ascii')) # 使用 ascii 编码解码并打印输出内容
# 关闭Telnet连接
tn.close() # 关闭与设备的Telnet连接
运行代码
验证
可以看到lookback0接口创建了地址配置成功