网络流量监控软件的设计与实现毕业设计论文(编辑修改稿)内容摘要:
断程序地址调用驱动程序接收数据,然后放入堆栈进行系统相关处理,若不匹配则直接丢弃该数据包。 对于网络接口,它一般具有 4种数据接收模式:广播、组播、直接和混杂模式,只有当把接口设置为混杂模式时,网络接口才能接收所有的数据,无论地址是否匹配, 所以在做本设计的时候一定要设置为混杂模式才能实现数据的采集。 第二,需要了解套接字的工作程序和使用方法: 一般来说,采用套接字开发网络程序需要经历以下几个基本步骤: 启动、创建、绑定、监听(接受连接)、连接、发送 /接 收数据、关闭、卸载等。 第三,具体到 Windows下利用原始套接字捕获网络数据可以这样设计:( 1)启动套接字;( 2)创建一个原始套接字; ( 3)将套接字与本地地址绑定;( 4)设置操作参数;( 5)设置网络接口为混杂模式;( 6)启动监听线程,开始接收数据;( 7)退出关闭套接字。 原始 数据包捕获的关键函数 ( 1)启动函数 WSAStartup int PASCAL FAR WSAStartup (DWORD wVersionRequested , LPWSADATA lpWSAData); 每一个套接字应用程序都必须调用该函数进行一系列初始化工作,并且只有调用成功返回后,才能开始使用套接字,其中参数 wVersionRequested是版本号,高字节是次版本号、低字节是主版本号,参数 lpWSAData是指向 WSADATA结构的指针。 ( 2)套接字创建函数 socket SOCKET socket (int af , int type , int protocol)。 所有的通信在建立之前都必须创建一个套接字, socket函数的功能就是创建套接字,其中参数 af指协议地址族( address family),当建立的套接字是依赖于 UDP或 TCP的话,需要设置 af为 AF_INET,表示采用 IP协议。 参数 type是指协议的套接字类型,采用流式套接字时用 SOCK_STREAM,采用数据报套接字时用 SOCK_DGRAM,采用原始套接字时用 SOCK_RAW。 参数 protocol是协议字段,默 认情况下可直接设置为 0。 3. 网络流量监控系统各模块的设计与实现 开发环境介绍 本设计开发平台采用 Microsoft Visualstudio ,它是目前使用比较广泛的 Winsock开发平台,因此具有较强的适应性,能够在很多的操作系统平台上运行,设计后具有直观的简洁的操作界面,稳定性也比较高。 总体结构设计 通过收集与分析简单网络流量监控软件的用户需求,总结出以下特征: ( 1)需要实现对网络接口数据包的尽可能多的捕获 , 将网卡设置为混杂模式,然后进行数据包的采 集; ( 2)数据包的内容要进行一定的解析,对数据包的协议类型、源目地址、数据包截获时间、数据包内容需要进行分析; ( 3)根据用户不同的要求能够依照特定地址范围、特定协议类型相关包等条件进行自定义监视; ( 4)监视结果输出有实时流量图、列表等显示; ( 5)实现日志记录,便于日后分析 ; ( 6)对某些常见的攻击进行发现分析。 总合以上系统要求与综合分析,本系统总体设计如下,采用 VC++ 编写,系统具有三个主要功能部分:数据捕获与显示模块、流量信息统计模块、流量绘制模块,如图 所示。 数据采 集模块:完成网络接口数据的捕获、解析和显示,可以根据用户定义条件组合来进行捕获,如只监视采用 TCP 或 UDP 协议的数据包,也可以监视用户希望关注的相关 IP地址的数据包,同时完成数据封包日志记录,提高了系统的灵活性。 同时,在对数据包的解析过程中对一些常见入侵攻击特征进行判断,发出预警。 该模块采用编写原始套接字开图 系统总体设计结构图 流量监控分析系统 数据采集模块 信息统计模块 流量绘制模块 发。 信息统计模块:完成统计功能,如统计 IP 要实现统计接收到的数据报数量、接收到的数据中协议出错的数量、正在请求传输的数量、路由表中可用路由数量、丢弃的数量、需要重组 /成功重组的数量等,统计 ICMP 需要完 成发送 /接收的消息数量、满足超过 TTL的数量、重定向数量、时间戳请求 /应答数量等;采用 IP 助手函数完成。 流量绘制模块:完成总流量、输入流量、输出流量、瞬时流量值、最高流量值的显示;采用访问注册表网络性能数据完成有关数据的获取,通过流量图显示。 流程图设计 本系统总体设计如下,采用 VC++,系统具有三个主要功能部分:数据捕获与显示模块、流量信息统计模块、流量绘制模块。 根据上面对各个功能模块的划分,进行更进一步的分析和设计,得到数据采集、注册表网络性能块访问大致的工作流程图,如图 所示: 图 数据捕获流程图 代码分析 ( 1) 功能实现说明 该功能模块主要由封装的 CSockSupport, CsockHelper ,CpackInterDlg, CbinDataDlg四个类完成 , 下面将对这些类进行详细说明。 CsockSupport类 : 主要负责检查 Socket是否支持 , 在该类中封装了 WSAStartup完成 Socket的启动 ; CsockHelper类 : 主要实现了从获取本机信息结构 、 Socket创建、绑定、设置、启动线程、 数据接收到协议 分析的全部方法。 GetLocalIP实现获取本机地址操作的方法 ,LPHOSTENT lphp是定义一个主机信息结构 , 获取过程由 gethostname(szLoame,MAX_HOSTNAME_LAN)与 gethostbyname(szLoame)完成 ; 第一个参数是用于放置本机名称的缓冲 , 第二个参数是缓冲区长度 , 最后利用 i_ntoa将 IP地址转化为 “.” 式地址。 StartCapture方法完成套接字的创建、绑定、设置操作方式和启动线程 ; 具体完成如下 : m_sockCap = socket(AF_INET , SOCK_RAW , IPPROTO_IP)。 //创建套接字 bind(m_sockCap, (PSOCKADDR)amp。 sa, sizeof(sa))。 //绑定 setsockopt(m_sockCap, SOL_SOCKET, SO_REUSEADDR, (char*)amp。 bopt, sizeof(bopt)) //设置操作 setsockopt(m_sockCap, IPPROTO_IP, IP_HDRINCL, (char*)amp。 bopt, sizeof(bopt)) //设置操作 m_hCapThread = CreateThread(NULL, 0, CaptureThread, thi。网络流量监控软件的设计与实现毕业设计论文(编辑修改稿)
相关推荐
41 一层数据流图 一层数据流图从总体来描述了整个系统的流程及数据流动情况图42 二层数据流图 二层数据流图系统管理流程详细描述了系统管理时的数据流向。 图 43 系统管理流图用户管理流图详细描述了用户管理时的数据流向。 图 43 用户管理流图查询管理流图详细描述了用户管理时的数据流向。 数据名称 :充值别名 :会员充值方式 :会员账户余额不足时向管理员充值流向 :管理员补充信息
、承诺。 激情, 以动机为主的两性关系是充满激情的,爱情关系趋于浪漫、身体吸引和性爱完美的驱力或一种状态 ;而亲密,以情绪为主的两性关系是亲密的,在恋爱关系中亲近、融合,结成亲密私人关系的感觉 .承诺, 以认知为主的两性关系是承诺的 , 指当事人对关系维持的一种认知,决定去爱一个人和对恋爱关系担负责任。 Yela 的四因素理论 Yela 在 sterberg 的基础上,将激情成分进一步划分
数字YES编号Userid数字YES用户编号Filedir_id数字YES文件编号Size数字NO文件大小ShareNO图片是否共享4 系统功能模块的实现 系统登录模块。 主要代码如下:Function Checkdim username,errstr,pwderrstr=提示信息==amp。 nbsp。 username=replace((username),39。
领域的系统,它的主要特点有: (1) 通用性:网上订餐系统具有良好的界面,适合推广给所有用户,能够给用户提供良好的服务。 (2) 便捷性:本系统最大的特点就是方便快捷,用户使用本系统可以足不出户就享受到优质服务,在现代人们的生活中很适用。 人们对于订餐的要求是能够减少排队等待的时间,此系统的设计正是为了迎合大家的这种需求,可以让用户节约许多的时间,提高了生活效率 [2]。
在 WINDOW7 的操作系统环境下,完全可以实现,因此系统 在技术方面可以实现。 操作可行性分析 系统是面向 大众的,面向的是不同领域的群体 , 系统在操作方式上符合浏览器的相关方式,系统的界面友好,提示信息较为齐全,用户可以很快的熟练掌握系统的使用方法。 社会因素的分析 系统是网络教育平台,符合国家法律以及相关政策。 本课题要达到的设计目标 1. 实现前台、后台的全部功能; 2.
a 应用程序。 Java 应用程序在运行时,最终用户也可以通过 JavaBeans 组件设计者或应用程序开发者所建立的属性存取方法 setXXX 方法和 getXXX 方法修改 JavaBeans 组件的属性。 这些属性可能是颜色和形状等简单属性,也可能是影响 JavaBeans 组件总体行为的复杂属性。 JavaBeans 组件模型使得软件可以设计成便于修改和便于升级。 每个