下载此文档

1 数据包捕获原理.docx


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
青岛农业大学
计算机网络综合实****br/>论文 题目:UDP包解析软件的设计与实现
专业班级: 计本0803
姓名(学号): 周方盼(20082845)
2011 年 11 月 16 日
UDP 包解析软件的设计与实现
数据包捕些数据包应该丢弃,哪些数据包应该接收,是否需要将接收到的数据拷贝 到相应的应用程序。5、通过分组过滤器后,将数据未过滤掉的数据包提交给核心缓冲区。然后等待系统缓 冲区满后,再将数据包拷贝到用户缓冲区。监听程序可以直接从用户缓冲区中读取捕获的数据包。
6、关闭 网卡。
数据包捕获实现
关于数据包捕获的实现算法是十分的简单的,当网卡设置为混杂模式时,在网内的数据包都会被发送 一份到网卡上。以电子邮件为例,在发送邮件连接信息和邮件头的端口号是 25 端口。据此,只需要监听 网络是否25端口的数据包,如果有,则进一步判断其数据报的IP是否是我们需要监听的计算机的IP,如 果是,则检查是否有以指定 IP 命名的文件夹,动态命文件名存储数据包;如果不是,一方面我们可以存储 数据包,也可以丢弃[8]。程序主要函数如下:void CMainFrame: : OnOptAdpater () 〃提取网卡信息void CMainFrame: : OnUpdateOptAdpater ( CCmdUI* pCmdUI) //数据包捕获开始后,禁止选择网卡 void CMainFrame:: OnFileStart() //开始捕获 void CMainFrame:: OnFileStop() //暂停捕获 UINT ReceivePacket (LPVOID param) 〃接收数据包CListCtrl &Ctrl = this —>GetListCtrl (); 〃将所捕获数据包的内容复制下来, 并保存到 CArray 数组中,以备将来使用在实际应用中,用户系统只关心一些特定的数据。因此高效的信 息过滤机制是系统的重要组成部分,它使得用户系统可以指定特定的子网主机以及指定的协议类型,只将 用户关心的数据向上层提交,从而提高系统的工作效率。 WinPCap 使用了一个高效的数据包过滤机制, BPF (伯克利数据包过滤)。与应用层过滤机制相比, BPF 机制是一种内核层的过滤机制,通过它可以大幅度 地提高包过滤时的性能。在过滤机制中,对于开发人员来说,最重要是要掌握它的过滤规则,因为 WinPCap 就是通过调用相应的函数,来使用这些过滤规则实现对数据包实现过滤的[ 9]。考虑到性能的因素,在使 用过滤器前, NPF 提供一个 JIT 编译器将它转化成本地的 80x86 函数。当一个数据包被捕获, NPF 调用 这个本地函数而不是调用过滤器的解释器,这使得处理过程相当快。程序主要函数如下:void CMainFrame:: OnOptFilter () 〃设置过滤器 BOOL CMainFrame:: Filter (const unsigned char *pkt_data) 〃过滤数据包 void CMainFrame:: OnUpdateOptFilter( CCmdUI* pCmdUI) //数据包捕获开始后禁止设置过滤器捕获结 果如图 2 所示。图2 数据包捕获结果
具体代码如下:
#include ""

1 数据包捕获原理 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人jiyudian11
  • 文件大小19 KB
  • 时间2022-05-20