999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Pysnmp的局域網(wǎng)自動(dòng)化網(wǎng)管的研究

2021-04-22 05:40:02秦子實(shí)
電腦知識(shí)與技術(shù) 2021年8期

秦子實(shí)

摘要:隨著企業(yè)內(nèi)網(wǎng)規(guī)模的擴(kuò)大,內(nèi)網(wǎng)接入終端逐漸增多,終端接入控制業(yè)務(wù)也越發(fā)繁雜,導(dǎo)致企業(yè)信息部門(mén)的日常業(yè)務(wù)存在大量重復(fù)性工作,且效率較低易出錯(cuò)。因此,企業(yè)信息部門(mén)需要一種簡(jiǎn)單的自動(dòng)化網(wǎng)管方法,能夠代替人工自動(dòng)管理IP、MAC資源等網(wǎng)絡(luò)資源,并能夠進(jìn)行端口MAC綁定等準(zhǔn)入業(yè)務(wù)。本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于Pysnmp的交換設(shè)備管理方法,通過(guò)SNMP協(xié)議讀取、設(shè)置交換機(jī)配置,以達(dá)到自動(dòng)化管理交換設(shè)備的目的。該方法具有依賴(lài)庫(kù)少、代碼編寫(xiě)簡(jiǎn)單、執(zhí)行效率高等特點(diǎn),適合局域網(wǎng)客制化開(kāi)發(fā)與部署。

關(guān)鍵詞:網(wǎng)絡(luò)運(yùn)維;SNMP;Python

中圖分類(lèi)號(hào):TP393? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)08-0047-02

1 概述

在企業(yè)內(nèi)部辦公局域網(wǎng),尤其是物理隔離的內(nèi)網(wǎng)中,通常需要信息部門(mén)進(jìn)行終端準(zhǔn)入,以保護(hù)內(nèi)網(wǎng)信息安全。隨著內(nèi)網(wǎng)規(guī)模的擴(kuò)大,終端接入準(zhǔn)入、接入點(diǎn)變更、設(shè)備變更、設(shè)備注銷(xiāo)等業(yè)務(wù)也大量增加,此類(lèi)業(yè)務(wù)具有工作量大、重復(fù)性高、人工易出錯(cuò)且步驟固定等特點(diǎn),適合通過(guò)腳本自動(dòng)化管理。由于企業(yè)內(nèi)網(wǎng)較為封閉的特點(diǎn),自動(dòng)化腳本不應(yīng)有較多的庫(kù)依賴(lài)關(guān)系,同時(shí)應(yīng)該方便信息部門(mén)開(kāi)發(fā)部署。此外,對(duì)于大型辦公內(nèi)網(wǎng),腳本應(yīng)該具有較高的執(zhí)行效率。本文針對(duì)該場(chǎng)景,基于Pysnmp設(shè)計(jì)了一種易于開(kāi)發(fā)方便部署的方法。

2 Pysnmp安裝

Pysnmp的依賴(lài)庫(kù)僅有四個(gè),依賴(lài)關(guān)系如下圖1所示。

這四個(gè)依賴(lài)庫(kù)為純Python庫(kù),沒(méi)有平臺(tái)編譯依賴(lài),可以直接使用pypi上提供的wheel文件安裝,下載完成后在內(nèi)網(wǎng)環(huán)境按照ply、jinja2、pysmi、pyasn1、pysnmp的順序安裝即可:

或使用github上提供的源碼,按照ply、jinja2、pysmi、pyasn1、pysnmp的順序,通過(guò)在源碼根目錄中運(yùn)行“python setup.py”,從源碼安裝依賴(lài)。

3 系統(tǒng)設(shè)計(jì)

3.1 獲取數(shù)據(jù)

對(duì)于企業(yè)內(nèi)網(wǎng)站準(zhǔn)入業(yè)務(wù)而言,準(zhǔn)入控制僅需要網(wǎng)關(guān)交換機(jī)中的ARP數(shù)據(jù),即IP到MAC的映射關(guān)系。批量獲取此類(lèi)數(shù)據(jù)需要使用“nextCmd”函數(shù):其中在第二個(gè)參數(shù)使用“CommunityData”對(duì)象生成團(tuán)體字,在第三個(gè)參數(shù)使用“UdpTransportTarget”生成目標(biāo)對(duì)象指定交換機(jī)snmp的IP與端口:

nextCmd函數(shù)返回一個(gè)生成器對(duì)象,可以直接使用for循環(huán)遍歷:

3.2 異常數(shù)據(jù)

for循環(huán)中的四個(gè)參數(shù)在循環(huán)體中分別用于:

snmp引擎(SnmpEngine)出現(xiàn)異常時(shí),errorIndication不為空,可以用于拋出異常或記錄交換設(shè)備級(jí)的錯(cuò)誤日志;

snmp代理(snmpAgent)產(chǎn)生異常數(shù)據(jù)時(shí),errorStatus不為空且errorIndex有用于指定錯(cuò)誤所在的索引值,可以用于拋出異常或記錄交換機(jī)上報(bào)的異常數(shù)據(jù)。

若前三個(gè)變量均為空,則可以通過(guò)varBinds取回正常數(shù)據(jù),異常處理通常編寫(xiě)如下:

3.3 ARP數(shù)據(jù)處理

在交換機(jī)返回的SNMP數(shù)據(jù)中,IP-MAC映射數(shù)據(jù)的oid為“.1.3.6.1.2.1.3.1.1.2”(即“獲取數(shù)據(jù)”例子中一節(jié)“ObjectIdentity”中的參數(shù))。在請(qǐng)求該oid數(shù)據(jù)后,會(huì)返回從該oid開(kāi)始的UDP中的原始結(jié)果,每個(gè)條目包含一個(gè)ObjectType對(duì)象表示oid名稱(chēng),以及一個(gè)OctetString對(duì)象表示oid下的值。原始數(shù)據(jù)包含非utf-8編碼和十六進(jìn)制數(shù)據(jù),不方便直接處理,因此可以使用這兩個(gè)對(duì)象的“prettyPrint”輸出方便處理的信息。

使用nextCmd函數(shù)讀取該oid數(shù)據(jù)時(shí),對(duì)應(yīng)調(diào)用的snmp“GETBULK”命令,即批量獲取“下一個(gè)指定oid相關(guān)”數(shù)據(jù),返回的數(shù)據(jù)有順序。由于nextCmd返回從指定的oid開(kāi)始的所有oid數(shù)據(jù),本文利用數(shù)據(jù)的排序特征,僅獲取.1.3.6.1.2.1.3.1.1.2集合中的數(shù)據(jù),當(dāng)snmp代理接收到第一條不屬于.1.3.6.1.2.1.3.1.1.2的數(shù)據(jù)時(shí),立即停止接收,此舉能夠大幅縮短數(shù)據(jù)讀取時(shí)間(經(jīng)測(cè)試在華為5700系列交換機(jī)上,接收IP-MAC映射數(shù)據(jù)僅耗時(shí)約1秒,而接收所有數(shù)據(jù)將耗時(shí)數(shù)十秒)。接收varBinds并判斷oid是否結(jié)束的示例寫(xiě)法:

經(jīng)過(guò)這一步處理,即可獲取IP-MAC映射列表,本文以列表形式輸出為例,此外也可以通過(guò)字典形式輸出,可以用于數(shù)據(jù)去重:

可以看出,每條數(shù)據(jù)的第一個(gè)元素為mib字符串,可以很容易地將IP數(shù)據(jù)分離出來(lái),第二個(gè)成員即為MAC數(shù)據(jù)。這樣一來(lái),可以得到IP-MAC數(shù)據(jù)的關(guān)系,進(jìn)而通過(guò)dict或set等數(shù)據(jù)結(jié)構(gòu)進(jìn)行去重,將多個(gè)網(wǎng)關(guān)的ARP信息進(jìn)行整合,即可得到局域網(wǎng)的整體ARP信息。

3.4 異步I/O加速

在交換機(jī)較多的場(chǎng)景中,若順序執(zhí)行上述步驟,依次從每個(gè)交換機(jī)中獲取數(shù)據(jù),可能會(huì)需要較長(zhǎng)時(shí)間。Pysnmp還提供了異步I/O版本的UdpTransportTarget:

只需要將nextCmd中的第二個(gè)參數(shù)替換為這個(gè)asyncio版本的即可,之后就可以使用async/await聲明函數(shù),并使用Python異步框架asyncio中的各種調(diào)度器異步執(zhí)行了。經(jīng)測(cè)試,使用同步函數(shù)獲取1臺(tái)交換機(jī)的ARP數(shù)據(jù)約耗時(shí)1秒,使用同步函數(shù)順序獲取10臺(tái)交換機(jī)數(shù)據(jù)越需要15秒,同步函數(shù)的耗時(shí)正比于交換機(jī)數(shù)量;而換用異步函數(shù)獲取10臺(tái)交換機(jī)約需要2秒,而交換機(jī)繼續(xù)增多的情況下,耗時(shí)也并未顯著增加。

4 結(jié)束語(yǔ)

本文介紹了使用Pysnmp獲取交換機(jī)IP-MAC映射數(shù)據(jù)的方法,可以方便地實(shí)現(xiàn)自動(dòng)化準(zhǔn)入管理。該方法依賴(lài)庫(kù)少,便于內(nèi)網(wǎng)部署,對(duì)于交換機(jī)數(shù)量較多的大型局域網(wǎng),可以使用異步I/O版本的函數(shù),可以較大幅度地縮短函數(shù)的等待時(shí)間,是一種方便部署、性能優(yōu)良的網(wǎng)絡(luò)管理方法。

【通聯(lián)編輯:梁書(shū)】

主站蜘蛛池模板: 国产福利拍拍拍| a亚洲天堂| 精品无码专区亚洲| 97视频免费在线观看| 2021国产精品自产拍在线| 国产成人精品一区二区秒拍1o| 99热这里只有成人精品国产| 午夜欧美在线| 欧美激情综合| 亚洲天堂精品在线| 欧美一级在线| 国产亚洲欧美日韩在线一区二区三区| 亚洲第一成年网| 亚洲日本www| 国内自拍久第一页| 国产在线自乱拍播放| 欧美另类一区| 久久婷婷色综合老司机| 99热这里只有精品在线播放| 久久国产V一级毛多内射| 在线中文字幕网| 精品国产自| 在线精品亚洲国产| 欧美一区日韩一区中文字幕页| 国产办公室秘书无码精品| 超碰色了色| 日本成人不卡视频| 中国国产一级毛片| 99精品在线看| 国产在线精品人成导航| 波多野结衣在线se| 久久无码免费束人妻| 久草美女视频| 91日本在线观看亚洲精品| 91网在线| 久久黄色视频影| 亚洲美女一区二区三区| 国产成人成人一区二区| 久久久久亚洲精品成人网| 九九热视频精品在线| 香蕉eeww99国产在线观看| 日韩欧美中文| 亚洲欧美在线看片AI| 亚洲欧美成人综合| 毛片基地视频| 一本大道香蕉中文日本不卡高清二区| 免费在线a视频| 99视频全部免费| 福利姬国产精品一区在线| 国产91在线|中文| 亚洲—日韩aV在线| 国产一级精品毛片基地| 国产真实自在自线免费精品| 久久亚洲AⅤ无码精品午夜麻豆| 久久男人视频| 国产一区亚洲一区| 在线免费a视频| 在线观看亚洲人成网站| 欧洲极品无码一区二区三区| 91麻豆国产视频| 扒开粉嫩的小缝隙喷白浆视频| 欧美www在线观看| 日韩精品一区二区三区视频免费看| 在线毛片网站| 欧美综合中文字幕久久| 国产va免费精品观看| 国产午夜人做人免费视频| 99视频只有精品| 国产免费怡红院视频| 欧美综合成人| 免费A级毛片无码免费视频| 欧洲亚洲欧美国产日本高清| 日韩免费视频播播| YW尤物AV无码国产在线观看| 国产欧美高清| 99精品国产自在现线观看| 国产成人综合亚洲欧洲色就色 | 久久国产精品嫖妓| 一级成人a毛片免费播放| 呦女亚洲一区精品| 免费无码又爽又刺激高| 六月婷婷综合|