77范文网 - 专业文章范例文档资料分享平台

基于Winpcap 编程实现抓包实验

来源:网络收集 时间:2020-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

上海电力学院

计算机网络安全(1)

课程实验报告

实验名称: winpcap编程实验

基于Winpcap 编程实现抓包实验

一. 本设计要达到的目标

基于winpcap编程实现对网络数据的捕获,并分析数据类型,对于IP,ICMP,ARP,UDP等,能够自动识别其协议类型并分析帧的构成。

二.实现步骤

(1)需要通过资料来了解winpcap抓包的工作原理,熟悉其运行过程

Winpcap的内部结构

Wincap有三部分组成:一个数据包监听设备驱动程序,一个低级的动态连接库和一个高级的静态连接库。底层动态链接库运行在用户层,它将应用程序和数据包监听设备驱动程序隔离开来,使得应用程序可以不加修改地在不同的WINDOWS系统上运行。高级的静态链接库和应用程序编译在一起,它使用低级动态链接库提供的服务,向应用程序提供完善的监听接口。抓包是WinPcap的基本功能,也是NPF最重要的操作。在抓包的时候,驱动(例如NIC Driver)使用一个网络接口监视着数据包,并将这些数据包完整无缺地投递给用户级应用程序。

(2)进一步了解winpcap编程所需要的编译环境,下载WpdPack,了解编译环境所需要的库文件.在编译时需要把wpdpack中的include与lib添加进vc的库文件里。

(3)明确整个编程的步骤与具体函数。刚开始要定义,在主函数中获取设备接口信息,获得网络地址与掩码地址,打开网络接口,还要设置过滤规则。使用loop函数来回调循环捕获数据包,以便一层一层解析。

(4)还要定义几个以太网,ARP,IP,UDP,TCP,ICMP协议的格式。需要注意在存储空间中,在存储空间中才能更好的逐层分析,不然很容易出错

(5)定义分析协议的函数,定义方式与回调函数相同.常用的函数有:用于获取本机设备列表的pcap_findalldevs_ex函数

用于打开设备的pcap_open函数,可以指定为混杂模式打开 用于编译数据包过滤器的pcap_compile 函数

用于设置数据包过滤器的pcap_setfilter 函数 用于从设备读取数据包的pcap_netx_ex 函数

用于关闭设备的pcap_close 函数(参数为pcap_open 返回值)

用于释放设备列表的pcap_freealldevs 函数(对应pcap_findalldevs_ex)

三.系统流程图

主函数 分析ARP协议函数 以太网协议分析函数 分析Ip协议函数 判断下层函数 分析ICMP协议函数 分析TCP协议函数 分析UDP协议函数 16进制数据

四.关键代码及其分析

主函数

void main() {

pcap_t *pcap_handle; /* Winpcap句柄 */ char error_content[PCAP_ERRBUF_SIZE]; /* 存储错误信息 */ char *net_interface; /* 网络接口 */ bpf_program bpf_filter; /* BPF过滤规则 */

char bpf_filter_string[] = \过滤规则字符串 */ bpf_u_int32 net_mask; /* 掩码 */ bpf_u_int32 net_ip; /* 网路地址 */

net_interface = pcap_lookupdev(error_content); /* 获得可用的网络接口 */ pcap_lookupnet(net_interface, &net_ip, &net_mask, error_content);/* 获得网络地址和掩码地址 */

pcap_handle = pcap_open_live(net_interface, BUFSIZ, 1, 1, error_content); /* 打开网路接口 */

pcap_compile(pcap_handle, &bpf_filter, bpf_filter_string, 0, net_ip); /* 编译BPF过滤规则 */

pcap_setfilter(pcap_handle, &bpf_filter); /* 设置过滤规则 */

对IP协议的定义

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Winpcap 编程实现抓包实验在线全文阅读。

基于Winpcap 编程实现抓包实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1006361.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: