周 力
(湖北職業技術學院,孝感 432100)
校園網的安全穩定運行離不開網絡管理員的管理。隨著網絡規模的不斷擴大,網絡管理軟件成為提高網絡管理效率的必備工具。網絡管理員需要網絡管理軟件能夠自動、定時對網絡進行檢測,主動了解網絡的運行狀態,發現并反饋問題。常見的網絡管理軟件不能滿足諸如此類的各種個性化要求,因此需要能快速靈活的量身定做一款網絡管理工具,保障網絡的平穩運行。
python是一種功能強大的解釋型計算機程序設計語言。它具有豐富的調用庫和平臺適應性,同時能夠為一個問題的解決提供多種解決方案。本軟件要使用到的庫有:os,tkinter,time,subprocess,telnetlib,win32api,Openpyxl等。
(1)網絡自動檢測功能:軟件啟動后,能夠在預先設置的時間點對網絡節點進行檢查,并將檢查結果記入日志文件。
(2)網絡節點信息查找功能:網絡管理員通過它查看節點IP及相關信息。
(3)網絡手動檢測功能:在發現網絡問題后,針對性的手動檢測網絡節點或外網的狀態。
(4)網絡異常自動報警功能:在網絡自動檢測的基礎上,對檢測結果進行比對,將異常情況寫入日志,并通過QQ郵箱或微信進行警告提醒。
(5)TELNET功能:集成TELNET功能,方便網絡管理員登陸網絡節點,進行網絡故障的處理。
(6)軟件要使用的相關文件都存放在當前硬盤的c:>里的switch文件夾中。

#check_switch2是調用定時自動檢測程序的方法。為避免程序調用后,不能點擊其它功能,此處采用線程調用的方法:

其它按鍵的代碼大體如上,只是根據功能調用相應方法。
此次關于網絡節點的信息較為簡單,故存放在EXCEL表中。數據內容如下表:

該功能是調用windows自帶的Ping功能,通過返回結果判斷設備是否在線或外網是否通暢。調用實現如下:

該功能會調用Telnet.exe連接指定設備。telnet的調用代碼是:

該選項會打開一個新的窗口,然后讀取網絡節點信息表中的內容,顯示在新窗口,網絡管理員可以查看并復制相關信息。
該功能是實現對校園網內的所有網絡設備主動檢測。主要由四個模塊組成:讀取信息表導入地址模塊,網絡設備檢測模塊,日志文件讀寫模塊和發送檢測結果郵件模塊。
5.4.1 讀取信息表
讀取網絡設備信息表中的IP地址及設備存放位置,主要實現與5.3中同。
5.4.2 網絡設備檢測
該模塊通過對導入的網絡設備IP地址進行依次查詢,將不能Ping通的IP地址存入字典中,作為后續操作的依據。主要代碼如下:

5.4.3 日志記錄讀寫模塊
該模塊是將newlost中記錄的信息存入有時間標志的文本文件。讀取文本內容并存入字典oldlost中,然后將新的文本與舊文本進行比對,判斷是否有新增故障點。比較代碼如下:

5.4.4 郵件發送模塊
該模塊將比較結果通過電子郵件發送給網絡管理員。可以使用qq登錄微信賬號,那么在給qq發送電子郵件時的同時微信也會收到郵件提醒。
該模塊使用while循環反復讀取系統時間,時間匹配時自動調用網絡設備檢測模塊,完成相關操作。主要代碼如下:

程序中預先設定了自動巡檢時間,為提高程序的人性化和靈活性,在點擊啟動按鍵后,會調用時間設置窗口,網絡管理人員可根據需要更改自動巡檢時間。
由于python的多平臺兼容性和提供模塊的多樣性,基于python打造簡單實用的自動化網絡檢測工具,實現關鍵時點網絡預警功能,必將有利于提高網絡的自動化管理水平,保障網絡的安全穩定運行。