摘要 随着计算机信息技术在各个行业运用日渐广泛,随之而来的信息风险和计算机犯罪也越来越多,一旦网络安全问题发生,通常会带来严重的后果。因此,必须加强安全意识,并及早防范。防范这种现象的方法和工具有很多,按时间元素归纳起来大致有三类,事前预警,事中防范和事后监督。其中的事中防范是目前正在流行的一种安全措施,主要作用是在根据正在发生的事件判断风险程度和防范水平。 局域网数据采集分析就是其中的一种实现方式。该技术运行Sinffer原理来嗅出网络有效信息,并经过windows网络编程实现数据传递和数据库分析。 研究基于局域网网卡信息读取和过滤技术,并经过一定的通讯协议配置和分解过程,实现数据的清理,最终完成有效数据的提取和分析。(所有权: 毕业设计网 QQ:306826066)
关键词:数据包;捕获;分析;winpcap;vc
LAN-based IP data packets Monitoring software Abstract Along with the computer information technology in each profession utilization day after day widespread, the following information risk and the computer-related crime more and more are also many, once the network security question occurrence, usually can bring the serious consequence. Therefore, must strengthen the safe consciousness, and guards against early. Guards against this kind of phenomenon the method and the tool has very many, induces according to the time element has three kinds approximately, forewarned in anticipation, in the matter the guard and afterwards supervised. In matter the guard is at present popular one kind of security measure, the main function is the event which occurs is judging the risk degree and the guard level in the basis. The local area network data acquisition analysis is one realization way. This technology moves the Sinffer principle to smell the network effective information, and after windows network programming realization data transmission and database analysis.
Key word:packet;capture;analyse;winpcap;vc
数据捕获的主要方式 Winpcap简介 WinPcap 是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。WinPcap 为用户级的数据包提供了Windows 下的一个平台。WinPcap 是 BPF 模型和 Libpcap 函数库在 Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库 Packet.dll 和一个高层的独立于系统的函数库 Libpcap 组成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对 NDIS 中函数的调用为 Win95、Win98、WinNT、和 Win2000 提供一类似于 UNIX 系统下 Berkeley Packet Filter 的捕获和发送原始数据包的能力。Packet.dll 是对这个 BPF 驱动程序进行访问的 API 接口,同时它有一套符合 Libpcap 接口(UNIX 下的捕获函数库)的函数库。
网络数据包捕获的原理 以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。IEEE802.3 标准的以太网采用的是持续 CSMA 的方式,正是由于以太网采用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使信息捕获系统能够拦截的我们所要的信息,这是捕获数据包的物理基础。 以太网是一种总线型的网络,从逻辑上来看是由一条总线和多个连接在总线上的站点所组成各个站点采用上面提到的 CSMA/CD 协议进行信道的争用和共享。每个站点(这里特指计算机通过的接口卡)网卡来实现这种功能。网卡主要的工作是完成对于总线当前状态的探测,确定是否进行数据的传送,判断每个物理数据帧目的地是否为本站地址,如果不匹配,则说明不是发送到本站的而将它丢弃。如果是的话,接收该数据帧,进行物理数据帧的 CRC 校验,然后将数据帧提交给LLC 子层(数据链路层)。 网卡具有如下的几种工作模式: 1) 广播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。 2)多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。 3)直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己 Mac地址的帧。 4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。(所有权: 毕业设计网 QQ:306826066) 网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据包这样就可以到达对于网络信息监视捕获的目的。
目 录 1 引言 1 1.1 互联网的发展及带来的问题 1 1.2 本课题研究的主要内容 1 2 开发工具综述 2 2.1 Visual stdio 6.0 2 2.1.1 基于组件的Web开发 2 2.1.2 开放式交互操作性能 2 2.1.3 Visual Database Tools(可视化数据库工具) 2 (所有权: 毕业设计网 QQ:306826066) 2.1.4 开发生命周期和组群支持 3 3 实现局域亡捕获数据的相关知识 4 3.1 计算机网络OSI七层协议 4 3.2 数据包的封装和分用 4 3.2.1 封装 4 3.2.2 分用 4 3.2.3 以太网的数据包 5 3.2.4 以太网帧报头格式 5 3.2.5 IP数据报的构成 5 3.2.6 IP首部 6 3.2.7 TCP协议 6 3.2.8 UDP数据报 7 4 数据捕获的主要方式 8 4.1 Winpcap简介 8 4.2 网络数据包捕获的原理 9 4.3 在windows情况下捕获数据包的结构 10 4.4 利用winpcap进行网络数据包的捕获 10 4.4.1 打开网络驱动列表 11 4.4.2 打开对应的网卡 11 4.4.3 设置过滤规则 11 4.4.4 捕获数据包 12 4.4.5 解析数据包 12 4.5 事例程序 12 5 开发环境配置 18 5.1 Winpcap安装 18 5.1.1 VC开发环境调式 18 6 软件具体实现 19 6.1 界面创建 19 6.1.1 基本主界面 19 6.1.2 数据包界面 19 6.1.3 数据分析界面 20 6.1.4 界面说明 20 6.2 代码实现 21 6.2.1 关于各种报头的头文件定义define.h 21 6.2.2 抓包实现 22 6.2.3 消息传递实现 23 6.3 程序运行效果 27 7 小结 28 7.1 个人体会和实现中遇到的问题 28 谢辞 29 参考文献 30 附录A 31 附录B 35 |