實驗拓撲:

將路由器橋接到與Linux系統(tǒng)同一網(wǎng)段,保證可以Linux系統(tǒng)和路由器能夠通信。
要求:
一共要制作兩個函數(shù):
第一個函數(shù)用于獲取設備配置(注意:華為設備只獲取sysname xxx到return之間的部分)。
第二個函數(shù)每五秒獲取一次設備配置,并計算配置的MD5值。如果和之前的MD5相同就打印MD5,如果不相同就打印告警并退出。
步驟:
1.在AR上配置SSH。(略)
2.創(chuàng)建dev_ssh.py文件,使用paramiko連接AR。
#導入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')
查看結果:

在程序運行的時候,我們將配置做一定的改變,可以看到MD5值發(fā)生了改變,并且有對應的提示。
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux系統(tǒng)
+關注
關注
4文章
614瀏覽量
29901 -
路由器
+關注
關注
22文章
3907瀏覽量
119567 -
模擬器
+關注
關注
2文章
1010瀏覽量
45668 -
SSH
+關注
關注
0文章
200瀏覽量
17718 -
python
+關注
關注
57文章
4876瀏覽量
90022
原文標題:使用python對比華為設備配置是否改變(eNSP模擬器),看完就會!
文章出處:【微信號:網(wǎng)絡技術干貨圈,微信公眾號:網(wǎng)絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
讓華為模擬器ENSP中所有的設備都能訪問外網(wǎng),這樣的實驗才真實。?#模擬器?#ensp#硬聲創(chuàng)作季
模擬器模擬與射頻
Hello,World!
發(fā)布于 :2022年10月19日 01:54:55
華為最新模擬器eNSP Lite即將要發(fā)布了!
多產(chǎn)品模擬能力:支持數(shù)據(jù)通信產(chǎn)品線NE路由器、CE交換機、S交換機、AR路由器、USG防火墻等,并持續(xù)更新支持網(wǎng)元類型。配置模擬能力:具備
華為新版模擬器eNSP Lite安裝攻略
最近華為發(fā)布了新版模擬器eNSP Lite的產(chǎn)品手冊,根據(jù)產(chǎn)品手冊描述,新版模擬器eNSP Lite基于云端發(fā)布,所以安裝和登錄新版
華為新版模擬器eNSP Lite
同時eNSP Lite在保留舊版模擬器eNSP操作界面的基本功能的基礎上,也增加了新的功能,比如tcpdump功能,這個功能可以替代wireshark,完成對報文的抓取和分析。根據(jù)手冊整理,下面從登錄、創(chuàng)建沙箱、
華為ensp模擬器vlan配置命令
華為eNSP(Enterprise Network Simulation Platform)是華為公司開發(fā)的一款網(wǎng)絡模擬器軟件,可以模擬真實
使用python對比華為設備配置是否改變(eNSP模擬器)
評論