
网络工程师的python之路
文章平均质量分 83
使用python实现网络自动胡运维,提高工作效率
renkie人可毅
华为路由交换HCIE,在校大学生。
展开
-
网络工程师的python之路-同步异步、单线程与多线程
感谢知乎大佬:@弈心本文是基于@弈心大佬(王印)的书籍《网络工程师的python之路》所整理的笔记netdev(异步并行)netdev是俄罗斯网络运维开发工程师Sergey Yakovlev开发的一套用来实现异步登录和配置网络设备的第三方开源模块。在讲解它的用法前,首先需要知道什么是同步(Synchronous),什么是异步(Asynchronous),以及为什么使用异步能够提升日常网络运维的工作效率。1.1 同步与异步所谓同步,可以理解为每当系统执行完一段代码或者函数后,系统都将原创 2022-05-16 20:55:49 · 2743 阅读 · 0 评论 -
JSON、TextFSM和ntc-templates
感谢知乎大佬:@弈心本文是基于@弈心大佬(王印)的书籍《网络工程师的python之路》所整理的笔记1.JSONJSON诞生于1999年12月,是JavaScript Programming Language(Standard ECMA-262 3rd Edition)的一个子集合,是一种轻量级的数据交换格式。虽然JSON基于JavaScript开发,但它是一种“语言无关”(Language Independent)的文本格式,并且采用C语言家族,如C、C++、C#、Java、Python和Pe原创 2022-05-13 16:46:42 · 2635 阅读 · 0 评论 -
网络工程师的python之路-基于paramiko登录设备
实验背景与Netmiko不同,Paramiko不会在做配置的时候替我们自动加上sys、return等命令,也不会在执行各种display命令后自动保存该命令的回显内容,一切都需要我们手动搞定。另外,Python不像人类,后者在手动输入每个命令后会间隔一定时间,再输入下一个命令。Python是一次性执行所有脚本里的命令的,中间没有间隔时间。当你要一次性输入很多个命令时,便经常会发生SSH终端跟不上速度,导致某些命令缺失没有被输入的问题(用传统的“复制、粘贴”方法给网络设备做配置的人应该遇到过这个问题)。同原创 2022-05-12 13:08:29 · 3312 阅读 · 0 评论 -
网络工程师的python之路-FTP备份配置文件
实验目的创建Python脚本,使用FTP服务器将SW2~SW5的configuration备份保存到FTP服务器上。实验准备(1)使用FTP服务端软件3CDaemon,这里的ftp服务器地址为10.0.1.10,目录自行设置,这里我设置的文件夹名为server。点击设置ftp服务器,添加用户名,用户目录,用户口令。(2)在这里我创建的ftp的用户使用名为renkie,密码为123456,用户目录为桌面的server文件夹。(3)创建ip.txt用于存放ip地址;创建lab5.py脚本原创 2022-05-04 15:38:06 · 3698 阅读 · 1 评论 -
网络工程师的python之路-基于netmiko模块的异常处理
实验背景在网络设备数量超过千台甚至上万台的大型企业网中,难免会遇到某些设备的管理IP地址不通、SSH连接失败的情况,设备数量越多,这种情况发生的概率越高。这个时候如果你想用Python批量配置所有的设备,很可能你的脚本运行了还不到一半就因为中间某一个连接不通的设备而停止了。此时我们想要跳过异常的设备而去处理剩下的设备。实验准备将LSW2的ssh密码改为123,模拟验证失败,连接LSW4的接口关闭,模拟不可达。实验目的创建一个带有try…except…异常处理语句的脚本来批量在交换机SW2原创 2022-04-29 12:27:35 · 6318 阅读 · 3 评论 -
网络工程师的python之路-基于netmiko模块的分组处理
背景介绍sys.argv前面的几个实验是基于一批设备的类型、型号、版本等都一致的情况下进行的。但是,实际现网运维中,数通设备产品线广阔,同样的产品还有众多型号,即便同型号的设备还有不同的软件版本。这些差异造成相应的指令集可能有微小差别,甚至天差地别。本实验通过设备分组模拟现网批次设备间的差异,配合 sys.argv ,让不同组调用不同的预设脚本。sys.argv举个例子:C:\Users\86157\Desktop>py lab3.py ip_list.txt cmd_list.txt原创 2022-04-28 10:21:20 · 3951 阅读 · 0 评论 -
网络工程师的python之路-SSH远程登录设备
python中支持SSH协议的模块主要有Paramiko和netmiko两种,本次实验采用netmiko模块。netmikko模块为python的第三方模块,需要使用pip来下载安装。(联网的情况下)下载完毕后,进入Python 3.10解释器,如果import netmiko没有报错,则说明Netmiko安装成功。实验拓扑实验目的:通过netmiko模块的SSH逐一登录4台交换机LSW2-LSW5,并依次为其配置STP,默认模式为MSTP。实验脚本1.引入netmik.原创 2022-04-26 20:29:01 · 7040 阅读 · 3 评论 -
网络工程师的python之路-telnet远程登录设备实验
在Python中,我们使用Telnetlib模块来Telnet远程登录网络设备,Telnetlib为Python内建模块,不需要pip下载安装就能直接使用。Python 3中,Telnetlib模块下所有函数的返回值都变成字节型字符串(ByteStrings)。因此,在Python 3中使用Telnetlib需要注意以下几点:• 在字符串的前面需要加上一个b。• 在变量和Telnetlib函数后面需要加上.encode('ascii')函数。• 在read_all()函数后面需要加上dec.原创 2022-04-24 20:31:42 · 6177 阅读 · 0 评论 -
网络工程师的python之路---python进阶语法
感谢知乎大佬:@弈心本文是基于@弈心大佬(王印)的书籍《网络工程师的python之路》所整理的笔记1.条件(判断语句)在Python中,条件语句(Conditional Statements)又叫作判断语句,判断语句由if、 elif和else 3种语句组成,其中if为强制语句,可以独立使用,elif和else为可选语句,并且不能独立使用。判断语句配合布尔值,通过判断一条或多条语句的条件是否成立(True或者False),从而决定下一步的动作,如果判断条件成立(True),则执行if或elif原创 2022-04-22 16:05:38 · 3868 阅读 · 0 评论 -
网络工程师的python之路---python基础语法
感谢知乎大佬:@弈心本文是基于@弈心大佬(王印)的书籍《网络工程师的python之路》所整理的笔记1.使用python我使用的python版本为3.10交互模式在Windows下,有两种方法进入Python解释器来使用交互模式:一种是通过命令行输入命令py或者python进入解释器;另一种是打开Python软件包自带的集成开发环境(IDE),也就是IDLE。脚本模式在Windows里,有两种方法创建Python脚本,一种是将代码写进Windows记事本里,另一种是借.原创 2022-04-22 13:47:13 · 4224 阅读 · 2 评论