一、实验运行环境

1.1 主机操作系统

1.1.1 Window 10上运行Centos8(VMware虚拟机)

1.2 网络设备

1.2.1 Ensp模拟器上运行的华为三层交换机Quidway S5700-28C-HI

1.3 网络设备OS版本

1.3.1 华为IOS

1.4 Python版本

1.4.1 2

二、实验拓扑

实验一拓扑图

三、实验所用地址

3.1 局域网IP段

3.1.1 0/24

3.2 运行Python的Centos主机

3.2.1 20/24

3.3 SW1

3.3.1 11/24

3.4 SW2

3.4.1 12/24

3.5 SW3

3.5.1 13/24

四、实验目的

4.1 通过Telnetlib模块,分别登录交换机SW1、SW2、SW3,给交换机SW2的loopback1端口配置IP地址2.2.2.2/24

五、实验步骤

5.1 每台交换机提前配好Telnet、SSH,这里不做过多描述,如有需要请参考Telnet配置实验

5.2 配置互联地址,并进行Ping测试,这里不做演示

5.3 建议提前手工远程登录交换机进行测试

5.4 在虚拟机上写Python脚本

5.4.1 执行命令'vi telnet1.py'进入文本模式

5.4.2 这里不要以telnet作为脚本名

5.4.3 输入'i'进行编辑模式,具体脚本如下

#引入内模块
import telnetlib
import time

#分别指定telnet登录的地址、用户名、密码和提示信息
host = "192.168.100.12"
user = "python"
password = "123"
print(f"Signed in successfully  {host}!")

#telnet登录并输入用户名和密码
tn = telnetlib.Telnet(host)
tn.read_until(b"Username:")
tn.write(user.encode('ascii') + b"\n")
tn.read_until(b"Password:")
tn.write(password.encode('ascii') + b"\n")

#临时屏显长度设置为0
tn.write(b"screen-length 0 temporary\n")

#配置loopback地址并保存配置
tn.write(b"sys\n")
tn.write(b"int loop 1\n")
tn.write(b"ip add 2.2.2.2 24\n")
tn.write(b"return\n")
tn.write(b"save\n")
tn.write(b"Y\n")

#等待三秒
time.sleep(3)

#退出远程登录并打印截屏
tn.write(b"quit\n")
output = tn.read_very_eager().decode('ascii')
print(output)

#关闭界面
tn.close()

5.4.4 按'esc'键退出文本模式,并执行命令':wq'保存文本内容并退出

5.4.5 执行命令'chmod +x telnet1.py'给脚本加可执行权限

5.4.5.1 切记:没有可执行权限不能执行脚本!!!

5.4.6 执行脚本:python3.8 telnet1.py,结果如下

实验一图一

5.4.7 手工进交换机进行端口查看

实验一图二

5.4.8 到这里基本就代表成功了