周 力
(湖北職業(yè)技術(shù)學(xué)院,孝感 432100)
校園網(wǎng)的安全穩(wěn)定運行離不開網(wǎng)絡(luò)管理員的管理。隨著網(wǎng)絡(luò)規(guī)模的不斷擴大,網(wǎng)絡(luò)管理軟件成為提高網(wǎng)絡(luò)管理效率的必備工具。網(wǎng)絡(luò)管理員需要網(wǎng)絡(luò)管理軟件能夠自動、定時對網(wǎng)絡(luò)進行檢測,主動了解網(wǎng)絡(luò)的運行狀態(tài),發(fā)現(xiàn)并反饋問題。常見的網(wǎng)絡(luò)管理軟件不能滿足諸如此類的各種個性化要求,因此需要能快速靈活的量身定做一款網(wǎng)絡(luò)管理工具,保障網(wǎng)絡(luò)的平穩(wěn)運行。
python是一種功能強大的解釋型計算機程序設(shè)計語言。它具有豐富的調(diào)用庫和平臺適應(yīng)性,同時能夠為一個問題的解決提供多種解決方案。本軟件要使用到的庫有:os,tkinter,time,subprocess,telnetlib,win32api,Openpyxl等。
(1)網(wǎng)絡(luò)自動檢測功能:軟件啟動后,能夠在預(yù)先設(shè)置的時間點對網(wǎng)絡(luò)節(jié)點進行檢查,并將檢查結(jié)果記入日志文件。
(2)網(wǎng)絡(luò)節(jié)點信息查找功能:網(wǎng)絡(luò)管理員通過它查看節(jié)點IP及相關(guān)信息。
(3)網(wǎng)絡(luò)手動檢測功能:在發(fā)現(xiàn)網(wǎng)絡(luò)問題后,針對性的手動檢測網(wǎng)絡(luò)節(jié)點或外網(wǎng)的狀態(tài)。
(4)網(wǎng)絡(luò)異常自動報警功能:在網(wǎng)絡(luò)自動檢測的基礎(chǔ)上,對檢測結(jié)果進行比對,將異常情況寫入日志,并通過QQ郵箱或微信進行警告提醒。
(5)TELNET功能:集成TELNET功能,方便網(wǎng)絡(luò)管理員登陸網(wǎng)絡(luò)節(jié)點,進行網(wǎng)絡(luò)故障的處理。
(6)軟件要使用的相關(guān)文件都存放在當前硬盤的c:>里的switch文件夾中。
#check_switch2是調(diào)用定時自動檢測程序的方法。為避免程序調(diào)用后,不能點擊其它功能,此處采用線程調(diào)用的方法:
其它按鍵的代碼大體如上,只是根據(jù)功能調(diào)用相應(yīng)方法。
此次關(guān)于網(wǎng)絡(luò)節(jié)點的信息較為簡單,故存放在EXCEL表中。數(shù)據(jù)內(nèi)容如下表:
該功能是調(diào)用windows自帶的Ping功能,通過返回結(jié)果判斷設(shè)備是否在線或外網(wǎng)是否通暢。調(diào)用實現(xiàn)如下:
該功能會調(diào)用Telnet.exe連接指定設(shè)備。telnet的調(diào)用代碼是:
該選項會打開一個新的窗口,然后讀取網(wǎng)絡(luò)節(jié)點信息表中的內(nèi)容,顯示在新窗口,網(wǎng)絡(luò)管理員可以查看并復(fù)制相關(guān)信息。
該功能是實現(xiàn)對校園網(wǎng)內(nèi)的所有網(wǎng)絡(luò)設(shè)備主動檢測。主要由四個模塊組成:讀取信息表導(dǎo)入地址模塊,網(wǎng)絡(luò)設(shè)備檢測模塊,日志文件讀寫模塊和發(fā)送檢測結(jié)果郵件模塊。
5.4.1 讀取信息表
讀取網(wǎng)絡(luò)設(shè)備信息表中的IP地址及設(shè)備存放位置,主要實現(xiàn)與5.3中同。
5.4.2 網(wǎng)絡(luò)設(shè)備檢測
該模塊通過對導(dǎo)入的網(wǎng)絡(luò)設(shè)備IP地址進行依次查詢,將不能Ping通的IP地址存入字典中,作為后續(xù)操作的依據(jù)。主要代碼如下:
5.4.3 日志記錄讀寫模塊
該模塊是將newlost中記錄的信息存入有時間標志的文本文件。讀取文本內(nèi)容并存入字典oldlost中,然后將新的文本與舊文本進行比對,判斷是否有新增故障點。比較代碼如下:
5.4.4 郵件發(fā)送模塊
該模塊將比較結(jié)果通過電子郵件發(fā)送給網(wǎng)絡(luò)管理員??梢允褂胵q登錄微信賬號,那么在給qq發(fā)送電子郵件時的同時微信也會收到郵件提醒。
該模塊使用while循環(huán)反復(fù)讀取系統(tǒng)時間,時間匹配時自動調(diào)用網(wǎng)絡(luò)設(shè)備檢測模塊,完成相關(guān)操作。主要代碼如下:
程序中預(yù)先設(shè)定了自動巡檢時間,為提高程序的人性化和靈活性,在點擊啟動按鍵后,會調(diào)用時間設(shè)置窗口,網(wǎng)絡(luò)管理人員可根據(jù)需要更改自動巡檢時間。
由于python的多平臺兼容性和提供模塊的多樣性,基于python打造簡單實用的自動化網(wǎng)絡(luò)檢測工具,實現(xiàn)關(guān)鍵時點網(wǎng)絡(luò)預(yù)警功能,必將有利于提高網(wǎng)絡(luò)的自動化管理水平,保障網(wǎng)絡(luò)的安全穩(wěn)定運行。