通過之前的三次實驗,我們已經可以初步的使用python通過telnet來操作cisco設備,接下來開始新一期的實驗
實驗目的:網絡巡檢,之后將信息存儲在數據庫中
本次實驗需要再次拓展新的拓撲,,且實驗環境改為ubuntu,后續的拓展將改為在linux環境下經行。本地地址使用10.10.10.142,通過兩臺管理交換機來控制六臺路由器,其地址分配
R1 | 10.10.10.101 |
R2 | 10.10.10.102 |
R3 | 10.10.10.103 |
R4 | 10.10.10.104 |
R5 | 10.10.10.105 |
R6 | 10.10.10.106 |
為每臺設備配置IP地址
由于需要批量配置,可以使用CRT的全局發送功能實現批量命令部署
全部部署vty之后,開通三臺設備以減少機器負擔,后續再陸續開發
檢驗連通性
發現鄰居名單
檢驗代碼的執行結果
接下來的任務是通過系統抓包,對這些數據包進行分析,我們的任務就是通過抓取cdp數據包的形式,記錄鄰居關系,如果發生鄰居關系變動則發出告警信息。
這里說一下思路:獲取接受的這串字符串,進行信息處理,即只收?。篟1 Fas0/0 Fas0/0,并存入本地數據庫中,因此需要在數據庫中建立一張鄰居表,存儲路由器編號、本地接口號,對端接口號。這里安裝兩個數據庫,存儲在兩個地方,一來是災備,二來是為了之后做實驗,測試關系型數據庫和非關系型數據庫的在運行效率上的不同。
第一步:截取信息
處理這串字符:
'show cdp neighbors\r\nCapability Codes: R- Router, T - Trans Bridge, B - Source Route Bridge\r\n S - Switch, H - Host, I -IGMP, r - Repeater\r\n\r\nDevice ID Local Intrfce Holdtme Capability Platform Port ID\r\nR1 Fas 0/0 172 R S I 3640 Fas 0/0\r\nR6 Fas0/0 144 R S I 3640 Fas 0/0\r\nR4 Fas0/0 170 R S I 3640 Fas 0/0\r\nR2>'
本次打算使用的字符串處理方法是進行切片,后續還可以嘗試使用類似正則表達式的方法
等待2秒是需要接收設備返回的鄰居信息
處理完成,美滋滋
第二步:設計關系表,并建表
設計mysql
Database:NDB
Table:cdp_nei
RID | Char |
Local_Int | Char |
Port_ID | Char |
First_record | Datetime |
Change_record | Datetime |
這里已經在mysql中的ndb里面建立一張表,存儲的是cdp鄰居的信息,基于當前的拓撲,可以預見當所有路由器運行之后,表中的信息條目應該是6*7=42
First_record用于記錄首次記錄這個數據項的時間,Change_record則會自動記錄每次修改這個數據項的時間,在查詢的時候,可以通過查看修改數據項的時間,如果發生改變就可以直接提示這條鏈路發生抖動
第三步:寫入數據庫中
我們在調試界面試一下該命令可以通過
查看效果
好了之后可以在代碼中寫入相關指令,不過在這之前,先做一件刺激的事兒,先衫褲再跑路!
代碼:
這個是初始版本,后續為了開發方便封裝在一個單獨的類里面的
寫完之后記得同步數據才可以在數據庫中查看到相關信息
寫入成功,美滋滋啊
第四步:遍歷所有設備的鄰居信息
思路:依次telnet登錄每臺設備,對其使用show cdp nei,然后收集對端端口信息,寫入數據庫中
這里就可以動態的將信息存儲在數據庫中,下個實驗我們將通過編寫腳本,將出錯的信息告警
關于python-mysql的安裝教程以及mysqldb這個工具包的使用筆記在評論中的連接
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
標題名稱:自己搭建自動化巡檢系統(四)處理鄰居列表-創新互聯
本文URL:http://www.2m8n56k.cn/article34/dccpse.html
成都網站建設公司_創新互聯,為您提供網站排名、商城網站、建站公司、虛擬主機、App設計、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯