一、网络编程与自动化概述

     网络工程领域不断出现新的协议、技术、交付和运维模式。传统网络面临着云计算、人工智能等新连接需求的挑战。企业也在不断追求业务的敏捷、灵活和弹性。在这些背景下,网络自动化变得越来越重要。

   网络编程与自动化旨在简化工程师网络配置、管理、监控和操作等相关工作,提高工程师部署和运维效率。

二、 python的安装

步骤1:安装python

Python Telnet登录交换机巡检 python自动巡检华为交换机_ci

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_02

步骤2:安装编译平台pycharm

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_03

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_04

Python Telnet登录交换机巡检 python自动巡检华为交换机_ci_05

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_06

三、实验一:python的基础运维

1、实验环境:SW1作为telnet服务器,现在需要使用python telnetlib作为telnet客户端登录此设备

2、实验拓扑:

Python Telnet登录交换机巡检 python自动巡检华为交换机_ci_07

3、实验步骤:

步骤1:使用虚拟网卡桥接ensp模拟器,并且配置虚拟网卡的ip为10.1.1.1。

Python Telnet登录交换机巡检 python自动巡检华为交换机_华为_08

步骤2:连接SW1和桥接的云,并且配置SW1的ip地址和telnet服务。

(1)配置ip地址

<Huawei>system-view

Enter system view, return user view with Ctrl+Z.

[Huawei]sysname S1

[S1]interface Vlanif 1

[S1-Vlanif1]ip address  10.1.1.2 24

(2)在AAA试图模式下创建telnet使用的用户名和密码,并赋予权限

[S1]aaa

[S1-aaa]local-user huawei password cipher huawei123 //配置用户名为huawei,密码为huawei123的账户

Info: Add a new user.

[S1-aaa]local-user huawei service-type telnet //设置用户名为huawei的服务类型为telnet

[S1-aaa]local-user huawei privilege level 3 //设置用户名为huawei的权限为3

(3)设置认证类型为AAA

[S1]user-interface vty 0 4   

[S1-ui-vty0-4]authentication-mode aaa  //配置认证类型为AAA认证

步骤3:在python配置telnetlib

(1)新建python文件

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_09

(2)命名为huawei_telnet ,回车进入编译界面

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_10

(3)配置telnetlib

import telnetlib

#导入telnetlib模块

import time

#导入时间模块

huawei_ip='10.1.1.2'

#定义登录设备的ip

huawei_user='huawei'

#定义登录的用户名

huawei_pass='huawei123'

#定义登录的密码

huawei_telnet=telnetlib.Telnet(huawei_ip)

#使用telnet登录到设备,匹配变量huawei_ip,即登录10.1.1.2

huawei_telnet.read_until(b'Username:')

#读取回显信息为Username

huawei_telnet.write(huawei_user.encode('ascii')+b"\n")

#使用变量huawei­_user输入用户名,\n代表输入后回车

huawei_telnet.read_until(b'Password:')

#读取回显信息为Password

huawei_telnet.write(huawei_pass.encode('ascii')+b"\n")

#使用变量huawei_pass输入密码,\n代表输入后回车

huawei_telnet.write(b'screen-length 0 temporary \n')

#写入命令screen-length 0 temporary关闭分屏功能,即当显示的信息超过一屏时,系统不会自动暂停

huawei_telnet.write(b'display cu \n')

#写入命令display cu,查看设备运行配置

time.sleep(1)

#等待1s

print(huawei_telnet.read_very_eager().decode('ascii'))

#读取telnet回显信息

huawei_telnet.close()

#关闭远程

(4)使用telnetlib登录设备

Python Telnet登录交换机巡检 python自动巡检华为交换机_python_11

(5)查看运行结果

Python Telnet登录交换机巡检 python自动巡检华为交换机_用户名_12

可以看到通过telnetlib登录了网络设备,并且查看对应的当前运行文件后退出telnet。