APP下载

基于python的windows平台网络检测软件的设计和实现

2018-11-12

数字通信世界 2018年10期
关键词:网络管理员网络设备网络管理

周 力

(湖北职业技术学院,孝感 432100)

校园网的安全稳定运行离不开网络管理员的管理。随着网络规模的不断扩大,网络管理软件成为提高网络管理效率的必备工具。网络管理员需要网络管理软件能够自动、定时对网络进行检测,主动了解网络的运行状态,发现并反馈问题。常见的网络管理软件不能满足诸如此类的各种个性化要求,因此需要能快速灵活的量身定做一款网络管理工具,保障网络的平稳运行。

1 python

python是一种功能强大的解释型计算机程序设计语言。它具有丰富的调用库和平台适应性,同时能够为一个问题的解决提供多种解决方案。本软件要使用到的库有:os,tkinter,time,subprocess,telnetlib,win32api,Openpyxl等。

2 软件实现的功能

(1)网络自动检测功能:软件启动后,能够在预先设置的时间点对网络节点进行检查,并将检查结果记入日志文件。

(2)网络节点信息查找功能:网络管理员通过它查看节点IP及相关信息。

(3)网络手动检测功能:在发现网络问题后,针对性的手动检测网络节点或外网的状态。

(4)网络异常自动报警功能:在网络自动检测的基础上,对检测结果进行比对,将异常情况写入日志,并通过QQ邮箱或微信进行警告提醒。

(5)TELNET功能:集成TELNET功能,方便网络管理员登陆网络节点,进行网络故障的处理。

(6)软件要使用的相关文件都存放在当前硬盘的c:>里的switch文件夹中。

3 网络检测软件界面实现主要代码

#check_switch2是调用定时自动检测程序的方法。为避免程序调用后,不能点击其它功能,此处采用线程调用的方法:

其它按键的代码大体如上,只是根据功能调用相应方法。

4 数据源

此次关于网络节点的信息较为简单,故存放在EXCEL表中。数据内容如下表:

5 主要功能及关键代码

5.1 Ping检测功能

该功能是调用windows自带的Ping功能,通过返回结果判断设备是否在线或外网是否通畅。调用实现如下:

5.2 Telnet交换机

该功能会调用Telnet.exe连接指定设备。telnet的调用代码是:

5.3 查询交换机IP

该选项会打开一个新的窗口,然后读取网络节点信息表中的内容,显示在新窗口,网络管理员可以查看并复制相关信息。

5.4 手动全检测功能

该功能是实现对校园网内的所有网络设备主动检测。主要由四个模块组成:读取信息表导入地址模块,网络设备检测模块,日志文件读写模块和发送检测结果邮件模块。

5.4.1 读取信息表

读取网络设备信息表中的IP地址及设备存放位置,主要实现与5.3中同。

5.4.2 网络设备检测

该模块通过对导入的网络设备IP地址进行依次查询,将不能Ping通的IP地址存入字典中,作为后续操作的依据。主要代码如下:

5.4.3 日志记录读写模块

该模块是将newlost中记录的信息存入有时间标志的文本文件。读取文本内容并存入字典oldlost中,然后将新的文本与旧文本进行比对,判断是否有新增故障点。比较代码如下:

5.4.4 邮件发送模块

该模块将比较结果通过电子邮件发送给网络管理员。可以使用qq登录微信账号,那么在给qq发送电子邮件时的同时微信也会收到邮件提醒。

5.5 交换机在线定时检测

该模块使用while循环反复读取系统时间,时间匹配时自动调用网络设备检测模块,完成相关操作。主要代码如下:

5.6 巡检时间设置

程序中预先设定了自动巡检时间,为提高程序的人性化和灵活性,在点击启动按键后,会调用时间设置窗口,网络管理人员可根据需要更改自动巡检时间。

6 结束语

由于python的多平台兼容性和提供模块的多样性,基于python打造简单实用的自动化网络检测工具,实现关键时点网络预警功能,必将有利于提高网络的自动化管理水平,保障网络的安全稳定运行。

猜你喜欢

网络管理员网络设备网络管理
网络设备的安装与调试课程思政整体设计
数控机床DNC网络管理平台在智能制造中的应用
院校网络管理员基本素质与技能探讨
一种基于C# 的网络设备自动化登录工具的研制
基于OpenStack虚拟化网络管理平台的设计与实现
提高图书馆网络管理员技术服务水平的途径
电动汽车充电服务网络管理初探
防范加固SNMP团体名漏洞
基于EOC通道的SHDSL网络管理技术
从传统图书管理员转变为新型服务人才