0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用python對比華為設(shè)備配置是否改變

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2024-08-14 17:52 ? 次閱讀

轉(zhuǎn)載請注明以下內(nèi)容:

來源:公眾號【網(wǎng)絡(luò)技術(shù)干貨圈】

作者:圈圈

ID:wljsghq

實驗拓撲:

ab0fd84f4376bbe3436f12d5ac27f2b2.png

將路由器橋接到與Linux系統(tǒng)同一網(wǎng)段,保證可以Linux系統(tǒng)和路由器能夠通信。

要求:

一共要制作兩個函數(shù):
第一個函數(shù)用于獲取設(shè)備配置(注意:華為設(shè)備只獲取sysname xxx到return之間的部分)。
第二個函數(shù)每五秒獲取一次設(shè)備配置,并計算配置的MD5值。如果和之前的MD5相同就打印MD5,如果不相同就打印告警并退出。

步驟:

1.在AR上配置SSH。(略)
2.創(chuàng)建dev_ssh.py文件,使用paramiko連接AR。

#導(dǎo)入paramiko模塊
importparamiko
importtime

#定義ssh的函數(shù),方便調(diào)用
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界面顯示的內(nèi)容
returnx

#本地進行測試
if__name__=='__main__':
print(dev_ssh('192.168.0.11','prin','Huawei@123'))

3.創(chuàng)建compare_md5.py文件,獲取配置的MD5值并比較。

#引入dev_ssh.py模塊中的dev_ssh函數(shù)
fromdev_sshimportdev_ssh
#引入正則表達式的模塊
importre
#引入計算hash值的模塊
importhashlib
#引入time模塊
importtime

#定義獲取配置的函數(shù)
defdev_get_config(ip,username='admin',password='Huawei@123'):
try:
#調(diào)用dev_ssh函數(shù)得到配置信息
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值的函數(shù)
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值的同時,退出循環(huán),并且打印告警信息
else:
print(m.hexdigest())
print('MD5valuechanged!')
break

#進行測試
if__name__=='__main__':
check_diff('192.168.0.11','prin')

查看結(jié)果:

497ffa16586c108cb3a211227ce704bc.png

在程序運行的時候,我們將配置做一定的改變,可以看到MD5值發(fā)生了改變,并且有對應(yīng)的提示。在程序運行的時候,我們將配置做一定的改變,可以看到MD5值發(fā)生了改變,并且有對應(yīng)的提示。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    588

    瀏覽量

    27262
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3679

    瀏覽量

    113267
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4255

    瀏覽量

    62223
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283

原文標題:使用python對比華為設(shè)備配置是否改變(eNSP模擬器)

文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    python環(huán)境變量的配置pip

    Python環(huán)境變量的配置和使用是每個Python開發(fā)者都需要了解和掌握的基本技能之一。在本文中,我們將詳細介紹如何正確配置Python環(huán)境
    的頭像 發(fā)表于 12-15 15:41 ?2224次閱讀

    根據(jù)這個硬件改變配置選項代碼是否有效?

    我正在配置MSD_SIMPLE_DEMO項目代碼(PIC24FJ256DA210)到PIC24FJ128DA106。我正在根據(jù)這個硬件(pic24fj128da106)改變配置選項。這個代碼
    發(fā)表于 04-30 11:45

    使用Python開發(fā)鴻蒙設(shè)備程序(0-初體驗)

    還是屬于嵌入式開發(fā)的范疇,而在嵌入式開發(fā)中C語言又是當之無愧的首選,所以,大家也都接受了這個現(xiàn)實。。。。。。。上周末,有幸能和華為的大佬們進行面對面交流(其實我是去抱大腿的),我們都一致認為:如果設(shè)備開發(fā)
    發(fā)表于 12-03 10:54

    利用Python配置Homeassistant,讓涂鴉設(shè)備連接Homekit

    。我們今天介紹如何在PC端用python配置Home Assistant 。這種方案對設(shè)備沒有特殊的要求,有個電腦就能完成搭建,極易上手,可以快速完成對Home Assistant 的配置
    發(fā)表于 10-27 15:00 ?1925次閱讀

    如何使用Python3檢查文件是否存在

    檢查文件是否存在的方法, 在Python3 文件操作中經(jīng)常被用到, 因為,只有文件存在, 我們才可以對文件進行下一步處理, 那么,常用的檢查文件存在的方法有哪些呢?以下是Python3 檢查文件
    發(fā)表于 10-26 17:08 ?14次下載
    如何使用<b class='flag-5'>Python</b>3檢查文件<b class='flag-5'>是否</b>存在

    華為p50pro參數(shù)配置和p40pro對比哪款更好

    華為p50pro參數(shù)配置和p40pro對比哪款更好更值得入手?
    的頭像 發(fā)表于 05-19 11:47 ?2w次閱讀

    pycharm如何配置Python解釋器

    剛學(xué)Python,你肯定遇到過這個問題剛學(xué)Python時,拿到一個Python項目,想用pycharm打開運行,pycharm界面卻顯示No Python Interpreter co
    的頭像 發(fā)表于 10-14 15:48 ?1.3w次閱讀
    pycharm如何<b class='flag-5'>配置</b><b class='flag-5'>Python</b>解釋器

    如何通過Python腳本批量采集華為交換機配置

    通過學(xué)習(xí)python網(wǎng)絡(luò)運維自動化減少重復(fù)無意義的工作量,本次實驗雖然只是一條命令,通過display current-configuration采集設(shè)備配置,但是在有大量設(shè)備需要采集
    的頭像 發(fā)表于 01-09 10:32 ?4578次閱讀

    如何配置Python環(huán)境變量

    配置Python環(huán)境變量是在安裝Python解釋器后的一項重要步驟,它允許您在任何位置都可以通過命令行或腳本運行Python解釋器,使Python
    的頭像 發(fā)表于 04-14 12:16 ?2w次閱讀

    pycharm怎么配置python環(huán)境變量

    PyCharm 是一種以 Python 為主的集成開發(fā)環(huán)境 (IDE),它提供了一系列的功能用于開發(fā)、調(diào)試、測試和部署 Python 程序。在使用 PyCharm 開發(fā) Python 項目時,
    的頭像 發(fā)表于 11-29 14:56 ?2551次閱讀

    python軟件對電腦配置要求

    Python是一種流行的編程語言,它在許多不同的領(lǐng)域中被廣泛使用,例如網(wǎng)站開發(fā)、數(shù)據(jù)科學(xué)和機器學(xué)習(xí)等。對于使用Python的開發(fā)者來說,了解Python軟件的電腦配置要求是非常重要的。
    的頭像 發(fā)表于 11-29 14:58 ?9381次閱讀

    python運行環(huán)境的安裝和配置

    Python是一種非常流行的編程語言,廣泛應(yīng)用于科學(xué)計算、Web開發(fā)、人工智能等領(lǐng)域。為了能夠正常運行Python程序,我們需要先安裝和配置Python運行環(huán)境。本文將為您詳盡介紹
    的頭像 發(fā)表于 11-29 16:17 ?1035次閱讀

    使用python對比華為設(shè)備配置是否改變(eNSP模擬器)

    將路由器橋接到與Linux系統(tǒng)同一網(wǎng)段,保證可以Linux系統(tǒng)和路由器能夠通信。
    的頭像 發(fā)表于 01-17 09:14 ?576次閱讀
    使用<b class='flag-5'>python</b><b class='flag-5'>對比</b><b class='flag-5'>華為</b><b class='flag-5'>設(shè)備</b><b class='flag-5'>配置</b><b class='flag-5'>是否</b><b class='flag-5'>改變</b>(eNSP模擬器)

    使用Python批量連接華為網(wǎng)絡(luò)設(shè)備

    隨著網(wǎng)絡(luò)規(guī)模的擴大和設(shè)備數(shù)量的增加,手動配置和管理每臺網(wǎng)絡(luò)設(shè)備變得越來越不現(xiàn)實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔性和強大的第三方庫支持,成為了網(wǎng)絡(luò)自動化領(lǐng)域
    的頭像 發(fā)表于 08-12 17:48 ?339次閱讀

    使用Python腳本備份華為交換機的配置信息

    在現(xiàn)代網(wǎng)絡(luò)管理中,備份交換機的配置信息是一項至關(guān)重要的任務(wù)。備份可以確保在交換機發(fā)生故障或配置錯誤時,能夠迅速恢復(fù)到之前的工作狀態(tài)。本文將詳細介紹如何使用Python腳本備份華為交換機
    的頭像 發(fā)表于 08-12 17:50 ?410次閱讀
    使用<b class='flag-5'>Python</b>腳本備份<b class='flag-5'>華為</b>交換機的<b class='flag-5'>配置</b>信息