0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用python对比华为设备配置是否改变(eNSP模拟器)

网络技术干货圈 来源:网络技术干货圈 2024-01-17 09:14 次阅读

实验拓扑:

34661d7e-b4cf-11ee-8b88-92fbcf53809c.png

将路由器桥接到与Linux系统同一网段,保证可以Linux系统和路由器能够通信

要求:

一共要制作两个函数:

第一个函数用于获取设备配置(注意:华为设备只获取sysname xxx到return之间的部分)。

第二个函数每五秒获取一次设备配置,并计算配置的MD5值。如果和之前的MD5相同就打印MD5,如果不相同就打印告警并退出。

步骤:

1.在AR上配置SSH。(略)

2.创建dev_ssh.py文件,使用paramiko连接AR。

#导入paramiko模块
importparamiko
importtime

#定义ssh的函数,方便调用
defdev_ssh(ip,username,password,port=22,cmd='discu
'):
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
#如果没有密钥,添加密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port,username,password,timeout=5,compress=True)
command=ssh.invoke_shell()
#保证discu能够一次将所有信息显示出来
command.send('screen-length0temporary
')
#输入命令
command.send(cmd)
time.sleep(2)
output=command.recv(65535)
x=output.decode('ascii')
#返回shell界面显示的内容
returnx

#本地进行测试
if__name__=='__main__':
print(dev_ssh('192.168.0.11','prin','Huawei@123'))

3.创建compare_md5.py文件,获取配置的MD5值并比较。

#引入dev_ssh.py模块中的dev_ssh函数
fromdev_sshimportdev_ssh
#引入正则表达式的模块
importre
#引入计算hash值的模块
importhashlib
#引入time模块
importtime

#定义获取配置的函数
defdev_get_config(ip,username='admin',password='Huawei@123'):
try:
#调用dev_ssh函数得到配置信息
dev_config_raw=dev_ssh(ip,username,password)
#使用正则表示匹配sysname---return之前的配置信息
dev_config=re.findall('sysname[sS]+return',dev_config_raw)[0]
#返回处理后的配置信息
returndev_config
exceptException:
return

#定义计算和比较MD5值的函数
defcheck_diff(ip,username='admin',password='Huawei@123'):
#计算初始的MD5值,并赋值给before_md5变量
m=hashlib.md5()
m.update(dev_get_config(ip,username).encode())
before_md5=m.hexdigest()
#每隔5s检查重新计算一次MD5值,并与初始的MD5值进行对比
whileTrue:
time.sleep(5)
m=hashlib.md5()
m.update(dev_get_config(ip,username,password).encode())
#如果两次对比相同,打印出MD5值
ifbefore_md5==m.hexdigest():
print(before_md5)
#如果两次对比不相同,在打印最新的MD5值的同时,退出循环,并且打印告警信息
else:
print(m.hexdigest())
print('MD5valuechanged!')
break

#进行测试
if__name__=='__main__':
check_diff('192.168.0.11','prin')

查看结果:

34c58200-b4cf-11ee-8b88-92fbcf53809c.png

在程序运行的时候,我们将配置做一定的改变,可以看到MD5值发生了改变,并且有对应的提示。








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    593

    浏览量

    27392
  • 路由器
    +关注

    关注

    22

    文章

    3728

    浏览量

    113708
  • 模拟器
    +关注

    关注

    2

    文章

    875

    浏览量

    43209
  • SSH
    SSH
    +关注

    关注

    0

    文章

    188

    浏览量

    16335
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84631

原文标题:使用python对比华为设备配置是否改变(eNSP模拟器),看完就会!

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [下载]华为的路由模拟器3.0

    华为的路由模拟器3.0
    发表于 07-02 08:29

    eNSP模拟器的简要的操作详细资料说明

    本文档的主要内容详细介绍的是eNSP模拟器的简要的操作详细资料说明。
    发表于 12-12 08:00 6次下载
    <b class='flag-5'>eNSP</b><b class='flag-5'>模拟器</b>的简要的操作详细资料说明

    eNSP华为模拟器软件安装指南

    eNSP华为模拟器软件安装指南
    发表于 08-20 17:47 4次下载

    2分钟快速教你如何在华为模拟器ensp上进行抓包?

    2分钟快速教你如何在华为模拟器ensp上进行抓包?
    的头像 发表于 12-05 11:25 4530次阅读

    带有Python的NeoPixel模拟器

    电子发烧友网站提供《带有Python的NeoPixel模拟器.zip》资料免费下载
    发表于 12-29 11:32 1次下载
    带有<b class='flag-5'>Python</b>的NeoPixel<b class='flag-5'>模拟器</b>

    华为最新模拟器eNSP Lite即将要发布了!

    多产品模拟能力:支持数据通信产品线NE路由、CE交换机、S交换机、AR路由、USG防火墙等,并持续更新支持网元类型。配置模拟能力:具备
    的头像 发表于 04-14 11:38 1.3w次阅读

    华为新版模拟器eNSP Lite安装攻略

    最近华为发布了新版模拟器eNSP Lite的产品手册,根据产品手册描述,新版模拟器eNSP Lite基于云端发布,所以安装和登录新版
    的头像 发表于 05-17 10:25 7183次阅读
    <b class='flag-5'>华为</b>新版<b class='flag-5'>模拟器</b><b class='flag-5'>eNSP</b> Lite安装攻略

    华为新版模拟器eNSP Lite

    同时eNSP Lite在保留旧版模拟器eNSP操作界面的基本功能的基础上,也增加了新的功能,比如tcpdump功能,这个功能可以替代wireshark,完成对报文的抓取和分析。根据手册整理,下面从登录、创建沙箱、
    的头像 发表于 05-19 14:58 5985次阅读
    <b class='flag-5'>华为</b>新版<b class='flag-5'>模拟器</b><b class='flag-5'>eNSP</b> Lite

    华为eNSP模拟器安装教程

    华为eNSP模拟器安装教程
    的头像 发表于 08-11 10:57 3047次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>eNSP</b><b class='flag-5'>模拟器</b>安装教程

    新版华为模拟器eNSP Pro的安装方法

    大家都期待了很久的eNSP Pro新玩法来了!
    的头像 发表于 08-22 09:53 3819次阅读
    新版<b class='flag-5'>华为</b><b class='flag-5'>模拟器</b><b class='flag-5'>eNSP</b> Pro的安装方法

    华为防火墙的安全策略配置实例

    今天给大家介绍华为防火墙的安全策略配置实例。本文采用华为eNSP模拟器,设计了一个USG6000系列防火墙的
    的头像 发表于 09-22 09:36 8565次阅读
    <b class='flag-5'>华为</b>防火墙的安全策略<b class='flag-5'>配置</b>实例

    华为ensp模拟器vlan配置命令

    华为eNSP(Enterprise Network Simulation Platform)是华为公司开发的一款网络模拟器软件,可以模拟真实
    的头像 发表于 12-08 14:04 4559次阅读

    使用python对比华为设备配置是否改变

    将路由桥接到与Linux系统同一网段,保证可以Linux系统和路由能够通信。
    的头像 发表于 08-14 17:52 443次阅读
    使用<b class='flag-5'>python</b><b class='flag-5'>对比</b><b class='flag-5'>华为</b><b class='flag-5'>设备</b><b class='flag-5'>配置</b><b class='flag-5'>是否</b><b class='flag-5'>改变</b>

    如何配置华为eNSP模拟器设备路由的ssh登录

    本博文主要讲解了如何配置华为eNSP模拟器设备路由的ssh登录,以便自动化应用可以更好的控制管
    的头像 发表于 10-25 09:31 961次阅读
    如何<b class='flag-5'>配置</b><b class='flag-5'>华为</b><b class='flag-5'>eNSP</b><b class='flag-5'>模拟器</b><b class='flag-5'>设备</b>路由<b class='flag-5'>器</b>的ssh登录