本系统实现以下功能:
(1)获取网卡设备,设置过滤规则,捕获数据包;
(2)对协议的数据包的类型、长度、地址等进行解读;
(3)通过API函数访问网络性能参数接口,得到网络流量;
(4)绘图实现流量统计的图形变化;
1.5 论文结构安排
本系统主要围绕网络通信编程,使用VC++编程技术进行功能实现。具体内容如下:第一章是前言,简明的介绍当前网络安全现状和论文的目的与意义;第二章主要是介绍网络编程的基础理论和相关技术原理;第三章主要是对流量统计模块的设计和实现;第四章重点描述流量分析的设计,从功能、模块、流程图等,详细的对协议内容进行了解读;第五章是对程序测试结果的说明。
2 相关知识与技术
2.1 OSI参考模型与TCP/IP模型
2.1.1 OSI模型
OSI(Open System Interconnect)七层模型即开放式网络参考模型,它的定义是由国际标准化组织ISO制定,主要功能就是帮助实现不同主机间的数据传输,其结构如图2.1所示。
该结构有七层,各层主要功能如下:
(1)物理层,任务是实现相邻节点间传输的物理连接,作为网络媒介与设备的接口
(2)数据链路层,封装数据包为数据帧,实现网络层和物理层之间的通信,主要功能是保证数据在物理线路上进行可靠传输,监测纠正数据包的传输错误;
(3)网络层,负责把网络地址翻译成物理地址,定义了网络设备间如何传输数据;
(4)传输层,管理网络端到端传送,用源端口和目的端口唯一标识一个进程;
(5)会话层,建立和文护会话,报告上一次发生的错误;
(6)表示层,指定传输格式,进行数据加密解密,编码解码,实现了多种数据格式的转换;
(7)应用层,是用户从网络取得应用服务的唯一途径;
图2.1 OSI参考模型
2.1.2 TCP/IP参考模型
TCP/IP参考模型又被成为因特网参考模型(Internet Reference Model)。由于TCP/IP模型比OSI模型实现更为具体,如今通常采用TCP/IP结构代表Internet结构。具体模型结构如图2.2所示。
图2.2 OSI模型与TCP/IP模型
TCP/IP的四个层次功能如下。
(1)应用层,面向用户和确定进程间通信的性质,如DNS、SMTP等;
(2)传输层,向上层提供端到端通信,包括TCP协议(通过三次握手保证可靠传输),UDP协议(无连接,不可靠传输);
(3)网际层,完成主机间分组传输,主要包括IP协议(核心,不可靠,无连接)、ICMP(控制报文协议)、ARP(地址解析协议)、RARP(反地址解析协议);
(4)网络接口层,参考模型最底层,它的功能是在网络上发送和接收数据报。
2.1.3 OSI模型与TCP/IP模型的比较
共同点:
(1)两者都采用了层次结构模型的概念;
(2)都提供了面向对象连接服务,与面向对象无连接两种机制;
不同点:
(1)OSI是七层,后者是四层结构;
(2)OSI对可靠性要求更高;
(3)TCP/IP只有四层,但是调用比较宽松,减少了开销,传输效率更高一些;
(4)TCP/IP实用市场更强,OSI只是理论模型。
2.2 数据包结构
2.2.1 MAC帧结构
TCP/IP四层结构(应用,传输,网际,网络),它在封装数据时,数据包都是以MAC帧的形式出现。MAC帧包括6Bit目的地址,6Bit源地址和2Bit帧类型构成,帧类型可以标识上层所使用的协议类型。
2.2.2 IP数据包结构
报文和报头两个部分组成了IP数据包,其中报头由固定长度20Bit部分和任意长度可以部分组成,定义了该数据特性的信息,格式如图2.3所示。 VC++WinPcap网络流量监控与分析系统的设计和实现(3):http://www.751com.cn/jisuanji/lunwen_13539.html