[发明专利]一种基于WinPcap的嵌入式网络协议栈开发方法无效

专利信息
申请号: 201310241875.6 申请日: 2013-06-18
公开(公告)号: CN103281335A 公开(公告)日: 2013-09-04
发明(设计)人: 方东祥;曾培峰;杨伟勤;丁茹皓 申请(专利权)人: 东华大学
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 上海申汇专利代理有限公司 31001 代理人: 翁若莹
地址: 201620 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 winpcap 嵌入式 网络 协议 开发 方法
【说明书】:

技术领域

发明涉及一种嵌入式网络开发方法,尤其涉及一种基于WinPcap的嵌入式网络协议栈开发方法,属于网络开发领域。

背景技术

在基于嵌入式的网络协议栈开发中,需要使用嵌入式设备来实现网络通信。实际项目中,往往是一个团队来共同完成一个项目,在开发过程中很多成员都需要调试程序,这就需要有多个硬件设备来配合调试。这样的开发方式需要将程序烧入到嵌入式设备上,启动调试的过程比较慢,开发效率低下。又由于硬件成本较贵而且容易损坏,这样的开发方式成本很高。

发明内容

本发明要解决的技术问题是:目前的开发方式是使用嵌入式设备来实现网络通信,嵌入式设备成本贵,在嵌入式设备上调试程序效率低,因此,需要一种开发成本低,开发效率高的开发方法。

为了解决上述技术问题,本发明的技术方案是提供了一种基于WinPcap的嵌入式网络协议栈开发方法,其特征在于,包括以下步骤:

步骤1:将原有运行在嵌入式设备上的系统移植到Windows操作系统上,在Windows上进行开发、测试;

步骤2:应用程序在使用协议栈时,提供一个将要使用的网卡接口的设备标识符;

步骤3:协议栈进行虚拟驱动的初始化操作;

步骤4:初始化操作后产生数据包捕获线程,该数据包捕获线程中的函数通过Windows操作系统上的网卡循环抓取数据包;

步骤5:将抓取的数据包通过数据包处理函数进行处理;

步骤6:将处理后的数据包送到协议栈中去处理;

步骤7:协议栈会给每个数据包添加相应的包头;

步骤8:当数据包到达网络接口层时,虚拟驱动程序会为数据包添加以太网帧头,进行发包处理;

步骤9:将处理后的数据包通过网卡送到真实的网络上去。

优选地,所述步骤3中的初始化操作主要实现两个功能:一个功能是根据用户提供的设备标识符打开指定的网络适配器;另一个功能是创建一个用于捕获网络数据包的线程。

优选地,所述步骤4的数据包捕获线程中会调用WinPcap API pcap_loop,该函数会一直尝试读取网络上的数据包,直到捕获指定数目的数据包或者发生错误。

本发明在进行嵌入式网络协议栈的开发时,可以避免直接在嵌入式设备上进行开发,节省了大量设备的投入,节约开发成本。在PC上开发不需要将代码下载到嵌入式设备上,节省时间,提高了开发效率。

附图说明

图1为本发明的程序架构图;

图2为本发明的调试环境的示意图。

具体实施方式

为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。

本发明为一种基于WinPcap的嵌入式网络协议栈开发方法,其将原有运行在嵌入式设备上的系统移植到Windows操作系统上,在Windows上进行开发、测试。

真实的嵌入式设备有特定的网卡驱动来进行网络数据包的收发,Windows并没有专用的驱动来支持移植后的程序,因此需要一种方法来让程序在真实网络上进行数据包的收发,也就是需要从网卡抓取数据包到应用程序,并将应用程序的数据包通过网卡送到网络上去。

本发明的具体流程如图1所示,应用程序在使用协议栈时,要求提供一个将要使用的网卡接口的设备标识符,然后协议栈会进行虚拟驱动的初始化操作。初始化操作中主要实现两个功能,一个是根据用户提供的设备标识符打开指定的网络适配器,这里会使用WinPcap提供的API pcap_open。第二个功能是创建一个用于捕获网络数据包的线程。

收包过程如图1中的双点划线所示,首先在数据包捕获线程中会调用WinPcap API pcap_loop,该函数会一直尝试读取网络上的数据包,直到捕获指定数目的数据包或者发生错误。该系统的对捕获数据包的数量没有要求,故将对应参数设置为0,指定该函数一直循环工作。一旦捕获一个数据包,pcap_loop会以回调函数的形式将该数据包交给一个指定的函数去处理。在该处理函数中,会将该数据包从WinPcap的缓冲区拷贝到定义的符合协议栈要求的缓冲区中去,即将处理后的数据包送到协议栈中去处理。然后去掉以太网帧头部,真实的网卡驱动程序已经进行过了以太网帧的校验,这里没有再进行计算。对于去掉以太网帧头的数据包,会根据上层协议的类型,IP、ARP或者RARP,把它交给协议栈中相应的程序去处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310241875.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top