当前位置:文档之家› 网络流量监测软件的设计与实现

网络流量监测软件的设计与实现

同时由于用户对于网络方向的操作往往抱有一 定的顾虑,所以软件将会将用户每一步的点击操作 获取并显示在文本框中,并可以根据用户的需求导 出到文件中,永久保存。这在一定程度上可以打消 用户的顾虑,同时也保障了网络环境的安全性和可 恢复性。使得软件的使用上更加的方便以及安全。
主界面下部通过进度条的形式用以显示计算机 性能参数,例如: CPU 占用率以及内存占用率等性 能信息。随后的利用三个 richTextbox 分别展示网络 适配器详细信息、计算机性能详细信息以及用户操 作步骤。
网络环境获取模块旨在为用户获取计算机系统 的网络环境提供一种方便、快捷的操作方式。由于 不同的计算机系统,其所有的网络环境也不同。本 模块为 用 户 提 供 了 包 括 计 算 机 主 机 信 息、 网 络 信
息、网卡信息以及所安装网络协议等四个部分的详 细信息获取。这些信息的了解有助于加深用户对于 自己计算机的网络状况的理解,同时也可以方便用 户对于之后的软件操作。例如,事先了解用于网络 流量监测功能时所选择的网卡的具体参数,则会在 之后网络数据包捕获的过程中,更加清晰的了解计 算机当前数据收发的状态。 2. 2. 2 计算机性能状况获取
1 数据包嗅探
数据包嗅探是网络流量监测软件的设计与实现 过程中 最 困 难 也 是 最 关 键 的 一 环。 只 有 实 现 这 一 步,才能真正意义上的实现网络流量监测的工作。
嗅探技术是网络安全攻防技术中极其关键的一 种方式。网络嗅探就是利用计算机网络接口截获本 属于其他计算机的数据报文。网络数据嗅探技术的
网络环境窗体的设计与实现: 网络环境窗体共分为四个独立窗体: 网络协议 信息窗口、主机信息窗口、网卡信息窗口以及网络 环境信息窗口。图 2 是网络协议信息窗口的样式设 计。布局上,主要通过一个 RichTextbox 用于显示获 取到的协议信息,同时通过两个 Button 控制窗口。
3 详细设计与实现
●第一作者: 严家兴 ( 1981 - ) ,男,本科,助 理工程师, 主要从事计算机与网络实验室的运行与维护。
●通讯作者: 胡 滨 ( 1980 - ) ,男,研究生,副教授,主 要研究方向为复杂网络理论与应用。
●收稿日期: 2014 - 06 - 17
— 38 —
存在本身也是具有双面性的,它的难察觉、易操作 的特性使得其用于黑客技术的时候,使我们难以发 现,同时具有极高危害,以为黑客可以通过数据监 听的方式,截获用户数据,造成用户信息泄露。而 对于网络管理人员来说,可以通过网络数据嗅探的 方式对网络流量交换过程进行实时监控,借此可以 发现网络数据交换过程中的危险行为信号[5 ~7]。 1. 1 数据包嗅探的原理
在一个计算机系统中,主要通过计算机网卡来 实现计算机系统的数据收发功能。其主要原理是通 过传输介质将数据传输到网卡,计算机网卡接收到 网络数据之后,检查数据包中的 MAC 地址是否 为 本机,同时判断是否应该接收该数据包。如果认为 该接收就接收数据包后向 CPU 发出中断信号,如果 认为不该接收数据包就直接丢弃。这种机制下,对 于不应该接收的数据包,CPU 并不知道其存在。
计算机性能状况也可以说是用户使用计算机时 最为关心的参数之一。即使是对计算机系统所知甚 少的用户,也往往会以计算机的 CPU 利用率和内存 使用率作为计算机系统性能的评判标准。这样也就 使得获取计算机的 CPU 利用率和内存使用率变得意 义重大。本模块通过计算机性能计数器提取数据的 方式,获取计算机的性能状况,并通过进度条和具 体数据两种方式反馈给用户,使用户既能直观的了 解计算机性能状况,又能通过详细的性能数据掌握 计算机的详细状况,从而加深对计算机的性能状况 了解。 2. 2. 3 计算机网络流量获取
严家兴,等: 网络流量监测软件的设计与实现
包,而不能解析底层数据包,其次,无法接收到本 机发出的数据,最后,如果要实现过滤,必须先接 收到数据包,而在之后的处理过程中进行过滤,这 就带来了巨大的系统开销。巨大的延迟以及较高的 丢包率使得这种方法并不为人们所青睐。
NDIS 驱动是一 种 较 好 的 方 式,其 功 能 强 大 全 面,可以实现数据的高捕获率同时也可以实现整个 以太网包的捕获。但是,虽然其功能强大,由于相 对应的就是编程过程及其复杂,难以用于简单的应 用程序。
网络流量监测软件的设计与实现
严家兴,杨 巍,胡 滨
( 南京农业大学 信息科技学院,江苏 南京 210095)
摘 要: 随着互联网科技迅速发展,网络状况也变得日益复杂,为了使用户更好地适应于复杂的网络环 境,更加适宜于复杂网络环境管理的网络流量监测系统也就变得十分必要。本设计采用了基于 WinPcap 环 境的 SharpPcap 捕获框架,更好地对数据进行捕获分析,为用户提供更为精确的网络数据流量捕获结果。 同时与原始套接字方式的数据捕获进行对比,获取更加精确的网络数据流量的同时,也为我们提供了更 好的网络数据收发构造的分析基础。在数据包捕获的基础上完成了用户数据流量监测以及网络环境管理 等功能,对于网络数据收发原理也有了更深认识。 关键词: 网络流量监测; 原始套接字; 过滤器; SharpPcap
由于网卡具有广播方式、组播方式、直接方式 以及混杂方式。所以可以利用网卡的混杂模式实现 网络数据包嗅探。在网卡的混杂模式下,网卡会接 收所有传输到自身的信息,而不经过验证确认,这 样,计算机就可以接收到所有流经自身的网络数据 包,从而通过数据包解析实现网络嗅探功能[8]。 1. 2 数据包嗅探的方法
网络数据包捕获可以说是网络流量监测软件的 核心功能,也是该程序设计与实现的重中之重。它 可以为那些对于计算机网络具有较好认识的用户提 供较为专业的服务,可以用于评价计算机系统所处 的网络系统的环境。该模块被分为 Socket 数据捕获 和 SharpPcap 数据捕获两种。其捕获功能的实现 是 相似的,但是通过不同的捕获手段。通过选择软件 提供的网卡列表,可以选择对计算机某个网络适配 器开启监测,届时,软件会捕获计算机该网络适配
随着计算机网络技术的飞速发展,越来越多的 新兴技术被用于网络建设,使得我们的网络越发的 有效,健全。但是,网络的飞速发展为我们带来极 大便利的同时,也为我们带来了大量的问题。于是 大量的网络安全技术应运而生,保障着我们日渐依 赖的网络。由于传统结构的网络向 P2P 的网络结构 转变,从而产生了多样化的网络环境。这种复杂的 网络环境下,于用户而言,无论是网络信息的安全 还是网络资费的控制都变得越发困难,而对于运营 商而言,网络维 护 的 难 度 与 成 本 也 随 之 大 大 增 加。 在这种两难的环境下,人们越来越期望于寻找到一 种高效便捷的网络维护手段,而网络流量监测则作 为一种行之有效的网络安全维护手段,其重要性自 是不言而喻[1 ~4]。本设计采用基于 WinPcap 环境的 SharpPcap 技术实现了网络流量数据的实时捕获以及 网络流量监测功能,可以适时地为用户提供有效的 流量统计数据,使得用户可以对自己设备的网络环 境做到了如指掌。
使用 WinPcap 等类库比起其他方法具有更多优 点。首先,其应用简单,可以通过及其简单的函数 调用实现复杂的网络数据捕获以及数据包解析。其 次,它可以捕获本机的数据包,同时还可以捕获完 整的数据帧,而不会丢弃信息。然后,WinPcap 与 Libpcap 的兼容可以使得应用程序具有极高的可兼容 性。最为重 要 的 是, 类 库 的 封 包 过 滤 是 内 核 级 的, 这也就意味着我们的数据包过滤功能,不会带来巨 大的系统开销,这种前提下,也就会减少 CPU 处理 时间,同时降低丢包率。
2 概要设计
2. 1 需求分析 设计通过图形化界面,向用户提供计算机系统
网络信息,并通 过 用 户 操 作 获 取 更 加 详 细 的 信 息。 该过程中,图形化界面是一个非常重要的环节。由 于计算机网络是一个专业性较强的领域,所以,网 络流量监测软件的使用方法设计需要考虑到用户对 于网络知识了解状况不一的情况。如何将复杂困难 的问题通过简单直接的方式传达给用户也是软件设 计所需要重视的方面之一。
另外,降低操作难度,将数据包捕获与网络流 量监测分开,使用户各取所需。由于数据包捕获对 于普通用户而言,操作难度较大,返回数据较难理 解,所以将网络流量监测作为主界面,将数据包捕 获作为功能界面。
网络流量监测软件是一款以网络流量获取及网 络数据包捕获为核心功能的计算机软件。其主要功 能包括: 计算机网络环境获取、计算机性能状况获 取、计算机网络流量获取、计算机网络数据包捕获 以及文件导出功能。 2. 2 模块分析 2. 2. 1 网络环境获取
— 39 —
高校实验室工作研究
器所接收 到 的 所 有 网 络 数 据 包。并 显 示 给 用 户。 SharpPcap 的捕获方式还提供了内核级的过滤器,可 以根据用户的选择返回用户所需要的计算机数据报 信息。 2. 2. 5 文件导出
由于网络数据包捕获的过程是一个高效的过 程,在网络繁忙的状况下,往往可以在短时间内捕 获到大量的网络数据报,这就对数据显示和分析带 来了压力,所以软件提供了文件导出的功能。我们 可以在数据包捕获之后,将所捕获的数据包简要信 息导出到输出文件中。这种功能一方面为用户提供 了相对更多的分析时间,另一方面也使得计算机系 统所获取的网络流量信息可以保存,这也就解决了 数据的存储问题。
主界面 ( 图 1) 作为程序的入口,其设计直接 影响到用户体与网络协议信息窗 口基本相似,在此就不一一赘述了。
详细信息窗体的设计与实现: 详细信息窗体实际上就是将主窗体界面下部的 网络适配器详细信息与计算机性能详细信息提取出 来,放到同一个窗体中显示。一则是为了方便用户 信息的显示,其次也是为了方便用户信息的保留。 捕获界面的设计与实现: 数据报捕获界面共有两部分组成、一部分是使用 Socket 方式捕获数据报的界面 ( 如图 3) ,另一个则 是通过 SharpPcap 方式捕获数据报的界面 ( 如图 4) 。
图 1 流量监测软件主界面
在主界面的设计上,采用了传统的应用程序的 常见分布形式,以菜单栏布置程序功能窗口的控制 按钮,以状态栏显示一些用户提示信息。
相关主题