[发明专利]一种基于零拷贝技术的无线网络数据包捕获方法有效
| 申请号: | 201810441095.9 | 申请日: | 2018-05-10 |
| 公开(公告)号: | CN108600053B | 公开(公告)日: | 2021-09-28 |
| 发明(设计)人: | 卢艺;陈伟;刘栋;张楚月 | 申请(专利权)人: | 南京邮电大学 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26;H04W24/08 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 210003 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 拷贝 技术 无线网络 数据包 捕获 方法 | ||
1.一种基于零拷贝技术的无线网络数据包捕获方法,在Linux系统中安装Libpcap库来捕获无线网络数据包,其特征是,包括以下步骤;
步骤S1,在捕包时,采用零拷贝技术将数据包由网卡寄存器直接送入用户缓冲区;
步骤S2,在存储时,通过零拷贝技术将用户缓冲区内捕获的数据包直接存放到硬盘上;
步骤S1,在接收数据包时,网卡驱动程序通过DMA方式从网卡内部寄存器读取数据包,然后将接收到的数据封装成LWIP协议的格式写到网卡接收缓冲区中;
通过把网卡内部寄存器指针映射到LWIP内核内存空间, ERXST为接收缓冲区起始地址,ERXND为接收缓冲区结束地址,ETXST为发送缓冲区起始地址,ETXND为发送缓冲区结束地址,ERDPT为MCU读缓冲器指针,EWRPT为MCU写缓冲器指针,将ERDPT映射到LWIP协议缓存包中的数据指针,实现直接对网卡寄存器内的数据包进行存储操作。
2.根据权利要求1所述的一种基于零拷贝技术的无线网络数据包捕获方法,其特征是,通过半轮询中断方式,读取数据包到用户缓冲区。
3.根据权利要求1所述的一种基于零拷贝技术的无线网络数据包捕获方法,其特征是,在捕获数据包的时候,通过Tshark工具包中-s 参数设置抓取数据包的长度。
4.根据权利要求1所述的一种基于零拷贝技术的无线网络数据包捕获方法,其特征是,对Linux内核socket参数更改SO_RCVBUF参数,以增加Libpcap缓冲区长度。
5.根据权利要求1所述的一种基于零拷贝技术的无线网络数据包捕获方法,其特征是,将数据包拷贝到用户缓冲区和硬盘上时,多组数据包一起拷贝。
6.根据权利要求5所述的一种基于零拷贝技术的无线网络数据包捕获方法,其特征是,调用开发包packet32中的PacketReceivePacket()函数实现多组数据包拷贝。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810441095.9/1.html,转载请声明来源钻瓜专利网。





