返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何实现网络自动化eNSP
  • 498
分享到

Python如何实现网络自动化eNSP

2023-06-15 06:06:12 498人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python如何实现网络自动化eNSP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.使用Paramiko登陆到单台交换机实验拓扑云彩桥接到本机环回接口:

这篇文章主要介绍了python如何实现网络自动化eNSP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.使用Paramiko登陆到单台交换机

实验拓扑

云彩桥接到本机环回接口:192.168.1.1/24
三层交换机IP:192.168.1.2/24

Python如何实现网络自动化eNSP

实验要求

使用Python Paramiko 模块实现ssh 登录单个交换机(192.168.56.2/24),配置LoopBack0地址:1.1.1.1/32。配置完成后,保存退出。

实验步骤 配置交换机管理地址,并测试与主机虚拟网卡连通性

[Huawei]vlan 10[Huawei]int vlan 10[Huawei-Vlanif10]ip add 192.168.1.2 24[Huawei-GigabitEthernet0/0/1]port link-type access [Huawei-GigabitEthernet0/0/1]port default vlan 10

Python如何实现网络自动化eNSP

Python如何实现网络自动化eNSP

配置三层交换机开启 SSH 服务端,配置 SSH 账号密码。

[Huawei]user-interface vty 0 4[Huawei-ui-vty0-4]authentication-mode aaa[Huawei-ui-vty0-4]protocol inbound ssh[Huawei-aaa]local-user python passWord cipher 123[Huawei-aaa]local-user python privilege level 3[Huawei-aaa]local-user python service-type ssh [Huawei]stelnet server enable [Huawei]ssh authentication-type default password

Python代码

import paramikoimport timeip = '192.168.56.2'username = 'python'password = '123'ssh_client = paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //默认情况下,Paramiko会拒绝任何未知的SSH public keys,使用此函数使其接收来自交换机提供的public keys。ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)print('Successfully connect to ' + ip)commend = ssh_client.invoke_shell()commend.send('sys\n')commend.send('interface LoopBack 0\n')commend.send('ip add 1.1.1.1 255.255.255.255\n')commend.send('return\n')commend.send('save\n')commend.send('y\n')time.sleep(3) //稍等3秒,然后执行以下操作output = commend.recv(65535) //截取本次运行script后的所有输出记录,将其assign给output变量print(output.decode("ascii"))ssh_client.close()

查看运行结果

Python如何实现网络自动化eNSP

在交换机上查看

Python如何实现网络自动化eNSP

也可以在交换机上debuggiing ip packet可以看到日志

2.使用Paramiko登陆到连续子网交换机

实验拓扑

连续子网三层交换机:管理地址 192.168.1.2/24 to 192.168.1.5/24

Python如何实现网络自动化eNSP

实验要求

登陆到各台交换机,并为其配置vlan 11 to 15,保存配置并退出。

实验步骤

配置管理口IP地址,并配置SSH Server 登陆名以及密码等

python代码

import paramikoimport time#import getpass#username = input('Username: ')#password = getpass.getpass('Password: ') //PyCharm中该模块运行没反应,用户名和密码还是直接写的username = 'python'password = '123'for i in range(2, 6):    ip = '192.168.1.' + str(i)    ssh_client = paramiko.SSHClient()    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())    ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)    command = ssh_client.invoke_shell()    print('Successfully connect to ' + ip)    command.send('sys\n')    for j in range(11, 16):        print('正在创建VLAN: ' + str(j))        command.send('vlan ' + str(j) + '\n')        time.sleep(1)    command.send('return\n')    command.send('save\n')    command.send('y\n')    time.sleep(2)    output = command.recv(65535).decode('ascii')    print(output)ssh_client.close()

运行结果

Python如何实现网络自动化eNSP

Python如何实现网络自动化eNSP

3.Paramiko登陆不连续子网交换机

实验拓扑

将交换机LSW5的管理接口ip更改为192.168.1.6/24,使交换机ip不在同一网段

Python如何实现网络自动化eNSP

实验要求

使用Paramiko登陆四台ip不连续的交换机,并给其配置vlan11 to 15

实验步骤

创建一个文本文档,将需要配置的交换机的ip地址写入,这里我在Desktop下创建了一个名为ip.txt文档

Python如何实现网络自动化eNSP

使用open函数,打开文件,进行操作,实现不连续子网调用

import paramikoimport timeusername = 'python'password = '123'f = open('C:/Users/DELL/Desktop/ip.txt', 'r')for line in f.readlines():    ip = line.strip()    ssh_client = paramiko.SSHClient()    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())    ssh_client.connect(hostname=ip, username=username, password=password)    print('Successfully connect to ', ip)    command = ssh_client.invoke_shell()    command.send('sys\n')    command.send('vlan batch 11 to 15\n')    time.sleep(2)    command.send('return\n')    command.send('save\n')    command.send('y\n')    time.sleep(2)    output = command.recv(65535).decode('ascii')    print(output)f.close()ssh_client.close()

查看运行结果

Python如何实现网络自动化eNSP

Python如何实现网络自动化eNSP

Python如何实现网络自动化eNSP

4.sys.argv[ ] 实现灵活调用脚本所需文件

实验拓扑

假设1.2和1.3为一组,1.4和1.6为一组

Python如何实现网络自动化eNSP

实验要求

同时修改不同型号设备的配置,给SW1/3配置vlan11 to 15,SW4/5配置vlan16 to 20

实验步骤

创建两个名为ip1.txt,command1.txt的文件,存储1组的ip和要进行的配置

Python如何实现网络自动化eNSP

同样创建两个名为ip2.txt,command2.txt文件,存储2组的ip和要进行的配置

Python如何实现网络自动化eNSP

Python如何实现网络自动化eNSP

python代码

import paramikoimport timeimport sysusername = 'python'password = '123'ip_file = sys.argv[1]cmd_file = sys.argv[2]iplist = open(ip_file)for line in iplist.readlines():    ip = line.strip()    ssh_client = paramiko.SSHClient()    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())    ssh_client.connect(hostname=ip, username=username, password=password)    print('Successfully connect to ', ip)    command = ssh_client.invoke_shell()    cmdlist = open(cmd_file, 'r')    cmdlist.seek(0)    for line in cmdlist.readlines():        command.send(line + '\n')        time.sleep(5)    cmdlist.close()    output = command.recv(65535)    print(output)iplist.close()ssh_client.close()

查看运行结果(pycharm不可以使用argv,在cmd里使用)

Python如何实现网络自动化eNSP

SSH连接失败处理

import paramikoimport timeimport sysimport Socketimport getpassusername = input('Username: ')password = getpass.getpass('Password: ')ip_file = sys.argv[1]cmd_file = sys.argv[2]switch_with_authentication_issue = []switch_not_reachable = []iplist = open(ip_file, 'r')for line in iplist.readlines():    try:        ip = line.strip()        ssh_client = paramiko.SSHClient()        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())        ssh_client.connect(hostname=ip, username=username, password=password,look_for_keys=False)        print('Successfully connect to ' + ip)        command = ssh_client.invoke_shell()        cmdlist = open(cmd_file, 'r')        cmdlist.seek(0)        for cmd in cmdlist.readlines():            command.send(cmd + '\n')        time.sleep(1)        cmdlist.close()        output = command.recv(65535)        print(output.decode("ascii"))    except paramiko.ssh_exception.AuthenticationException:        print('User authentication failed for ' + ip + '.')        switch_with_authentication_issue.append(ip)    except TimeoutError:        switch_not_reachable.append(ip)iplist.close()ssh_client.close()print('\nUser authentication failed for below switches: ')for i in switch_with_authentication_issue:    print(i)print('\nBelow switchs are not reachable: ')for i in  switch_not_reachable:    print(i)

感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何实现网络自动化eNSP”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: Python如何实现网络自动化eNSP

本文链接: https://lsjlt.com/news/278263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python如何实现网络自动化eNSP
    这篇文章主要介绍了Python如何实现网络自动化eNSP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.使用Paramiko登陆到单台交换机实验拓扑云彩桥接到本机环回接口:...
    99+
    2023-06-15
  • Python实现网络自动化eNSP
    目录1.使用Paramiko登陆到单台交换机实验拓扑实验要求2.使用Paramiko登陆到连续子网交换机实验拓扑实验要求实验步骤3.Paramiko登陆不连续子网交换机实验拓扑实验要求4.sys.argv[ ] 实现...
    99+
    2022-06-02
    Python 网络自动化eNSP Python 网络自动化
  • Python如何实现自动化办公
    这篇文章主要介绍了Python如何实现自动化办公,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景想象一下,现在你有一份Word邀请函模板,然后你有一份客户列表,上面有客户的...
    99+
    2023-06-22
  • python如何实现自动化运维
    1、安装pip install paramiko2、导入模块import paramiko3、使用def initSshClinet(): ''' 初始化,SSH连接账号密码登录服务器 :return: sshCli...
    99+
    2023-05-17
    Python
  • Python实现自动化网页操作
    编程语言:python 集成开发环境(IDE):Visual Studio Code 配置方法参照Visual Studio Code配置Python编程环境 目录 1 准备1.1 安装...
    99+
    2023-09-02
    python 自动化 chrome selenium
  • Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备
    ❤️博客主页: iknow181🔥系列专栏: Python、JavaSE、JavaWeb、CCNP🎉欢迎大家点赞👍收藏⭐评论✍ 目录 一、前言 二、准备工作 三、Telnetlib Te...
    99+
    2023-10-22
    自动化 网络 服务器
  • Python如何实现自动化Excel报表
    这篇文章给大家分享的是有关Python如何实现自动化Excel报表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。总体解决方案输出报表当然是测试用的假数据啦.自动化Py脚本基本思路: 1. 准备模板数据需要的 SQ...
    99+
    2023-06-14
  • python自动化如何实现自动回复QQ消息
    这篇文章主要介绍了python自动化如何实现自动回复QQ消息,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.需要安装的相关软件和python模块1 安装client模块打开...
    99+
    2023-06-14
  • 如何实现Python办公自动化之Excel
    本篇内容介绍了“如何实现Python办公自动化之Excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备使用 Python 操作 Exc...
    99+
    2023-06-16
  • Python如何实现自动化邮件发送
    今天就跟大家聊聊有关Python如何实现自动化邮件发送,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的...
    99+
    2023-06-26
  • Docker如何实现自定义网络
    小编给大家分享一下Docker如何实现自定义网络,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、自定义网络实现容器互联四类网络模式,使用docker netwo...
    99+
    2023-06-22
  • Linux如何实现网络虚拟化
    在Linux系统中,可以通过多种方式实现网络虚拟化,其中最常用的方法包括使用Linux内核提供的虚拟化技术和使用第三方软件实现虚拟化...
    99+
    2024-04-28
    Linux
  • 如何使用python selenium实现自动化测试
    这篇文章主要介绍如何使用python selenium实现自动化测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、安装selenium打开命令控制符输入:pip install -U selenium火狐浏览器安...
    99+
    2023-06-15
  • 如何使用python+appium实现自动化测试
    这篇文章主要为大家展示了“如何使用python+appium实现自动化测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用python+appium实现自动化测试”这篇文章吧。1.什么是A...
    99+
    2023-06-22
  • python+opencv+selenium如何实现自动化登录邮箱
    这篇文章主要为大家展示了“python+opencv+selenium如何实现自动化登录邮箱”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python+opencv+selenium如何实现自动...
    99+
    2023-06-20
  • 详解如何利用Python实现报表自动化
    目录Excel的基本组成一份自动化报表的流程报表自动化实战当日各项指标的同环比情况当日各省份创建订单量情况最近一段时间创建订单量趋势将不同的结果进行合并本篇文章将带你了解报表自动化的...
    99+
    2023-05-14
    Python实现报表自动化 Python报表自动化 Python自动化
  • python自动化实现自动回复QQ消息
    目录前言1.需要安装的相关软件和python模块2. 连接手机3.测试是否连接成功4.代码实现5. 总结前言 近段时间,看了一下运用python实现app自动化的视频,觉得那上面的讲...
    99+
    2024-04-02
  • Python自动化实现抖音自动刷视频
    目录环境准备实现环境准备 Python3.5以上Appium Server服务器Android SDK,需要用到adb服务需要依赖Appium-Python-Client组件库真机或...
    99+
    2023-03-19
    Python 抖音自动刷视频 Python 抖音自动
  • Appium+Python实现自动化登录
    #Appium+Python实现自动化测试 Appium简介 官方的概述为: Appium is an open source test automation framework for use with native, hybrid...
    99+
    2023-01-31
    Appium Python
  • python实现hive自动化测试
    本程序主要实现hive权限测试。系统中有管理员用户single和测试用户test。在路径/home/test/下,将用例和预期结果写在xml文件中。        执 行过程:kinit single用户,beeline -u -e登录并执...
    99+
    2023-01-31
    测试 python hive
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作