基于跨内核异步收发的IPv6地址快速扫描方法及系统技术方案

技术编号:38714422 阅读:9 留言:0更新日期:2023-09-08 14:57
本发明专利技术涉及互联网技术领域,特别涉及一种基于跨内核异步收发的IPv6地址快速扫描方法及系统,依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测数据包;绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包;解析应答数据包并获取存活的IPv6地址。本发明专利技术针对现有IPv6地址扫描存在的扫描速度慢等问题,在基于跨内核异步收发的IPv6地址快速扫描中绕过Linux内核协议栈,直接在用户空间和网卡之间进行数据包的异步收发,实现IPv6地址快速探测需求。IPv6地址快速探测需求。IPv6地址快速探测需求。

【技术实现步骤摘要】
基于跨内核异步收发的IPv6地址快速扫描方法及系统


[0001]本专利技术涉及互联网
,特别涉及一种基于跨内核异步收发的IPv6地址快速扫描方法及系统。

技术介绍

[0002]近年来,随着越来越多的网络和终端主机支持IPv6网络,IPv6布局发生了巨大变化。为了实现IPv6网络地址扫描的目标,IPv6地址扫描技术已经逐步发展起来。由于IPv4地址长度仅为32位,对IPv4地址的扫描非常容易。而IPv6地址长度为128位,长度是IPv4地址的4倍之多,地址扫描难度呈指数级增长,无法通过IPv4地址扫描的方式来展开遍历式扫描。为有效降低IPv6地址搜索空间,目前IPv6地址扫描主流思路是基于种子地址进行地址预测和目标地址生成。通过挖掘已分配IPv6地址的内在规律,利用机器算法、深度学习模型和图论等数学方法生成可能存活的IPv6预测地址集。该集合中的地址数相较整个IPv6地址空间而言大大降低,因此有效的降低了IPv6地址探测空间,进而可大大提升IPv6存活地址发现效率。然而,现有的IPv6目标地址生成算法存在预测准确率低、漏扫率高等问题。
[0003]在成功生成IPv6预测地址集之后,需要对这些IPv6地址进行存活性验证。目前主流使用的存活性验证技术只有Zmapv6。除了Masscan、Xmap、Scan6这3款IPv6遍历式地址扫描技术,Zmapv6也是其中之一。IPv6网络的巨大地址空间使得穷举探测不再可能。例如,在万兆链路上,使用Zmapv6扫描64位前缀范围下的所有IPv6地址至少需要上百万年的时间,这显然是无法接受的。此外,这些扫描技术都是基于内核态实现而来,在不提升网卡性能和网络链路带宽的情况下,很难以明显提升速度发送和接收探测包,这些都成为IPv6网络扫描速度难以提升的主要障碍。
[0004]通过对现有Masscan、Scan6、Zmapv6和Xmap这4种IPv6地址扫描技术从所支持的扫描方式和数据包收发方式等角度进行分析。这4种IPv6地址扫描工具都采用都是基于应用态进行改进,需要通过传统基于内核的数据包处理方式完成数据包的收发。当处理IPv6地址扫描所产生的大规模数据包时,传统的基于内核的报文处理方式会使用中断将数据包分发到内核,这会导致频繁的中断和性能开销。而且,当内核处理完数据包后,还需要将数据包拷贝到用户层,这也会对性能产生负面影响。因此这些问题成为了处理IPv6地址扫描产生的大规模数据包所面临的挑战。

技术实现思路

[0005]为此,本专利技术提供一种基于跨内核异步收发的IPv6地址快速扫描方法及系统,解决现有IPv6地址扫描速度慢的问题,实现IPv6地址快速探测需求。
[0006]按照本专利技术所提供的设计方案,提供一种基于跨内核异步收发的IPv6地址快速扫描方法,包含:
[0007]依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测数据包;
[0008]绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包;
[0009]解析应答数据包并获取存活的IPv6地址。
[0010]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测包,包含:
[0011]首先,根据用户输入确定扫描任务所需生成探测类型、目的IPv6地址和端口,并通过邻居发现协议NDP获取默认网关的MAC地址;
[0012]然后,将扫描主机的IPv6地址和MAC地址作为源地址信息,目标IPv6地址和默认网关的MAC地址作为目标地址信息,并根据探测类型生成相应的探测数据包。
[0013]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,根据探测类型生成相应的探测数据包时,若探测类型为ICMPv6,则构造ICMPv6回显请求探测包,若探测类型为TCP,则构造TCP_SYN探测包,若探测类型为UDP,则构造UDP探测包。
[0014]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包,包含:利用数据平面开发套件DPDK、用户空间I/O和轮询模式驱动通过独立线程在用户态和网卡设备之间直接交互数据包。
[0015]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,通过独立线程在用户态和网卡设备之间直接交互数据包,包含:
[0016]首先,针对探测数据包,通过调用DPDK库函数初始化环境抽象层和网卡设备驱动,并设置网卡设备参数,所述网卡设备参数包含MTU、MAC地址和IP地址;
[0017]然后,创建内存池,为每个应答数据包分配内存;并利用DPDK库的接口函数将应答数据包直接放入发送队列中,等待网卡发送。
[0018]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,解析应答数据包并获取存活的IPv6地址,还包含:依据解析结果验证所述应答数据包是否属于当前扫描任务。
[0019]作为本专利技术基于跨内核异步收发的IPv6地址快速扫描方法,进一步地,依据解析结果验证所述应答数据包是否属于当前扫描任务,包含:提取应答数据包下一报头字段信息,依据该字段信息判断应答数据包类型,若应答数据包类型为UDP或TCP,则依次验证应答和探测数据包长度是否相同、源端口和探测目的端口是否一致,若应答数据包类型为ICMPv6回显请求,则验证应答和探测数据包长度是否相同,依据验证结果来判断应答数据包是否属于当前扫描任务引发的响应。
[0020]进一步地,本专利技术还提供一种基于跨内核异步收发的IPv6地址快速扫描系统,包含:探测包构造模块、探测包收发模块和应答包解析模块,其中,
[0021]探测包构造模块,用于依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测数据包;
[0022]探测包收发模块,用于绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包;
[0023]应答包解析模块,用于解析应答数据包并获取存活的IPv6地址。
[0024]本专利技术的有益效果:
[0025]本专利技术针对现有IPv6地址扫描存在的扫描速度慢等问题,在基于跨内核异步收发的IPv6地址快速扫描中绕过Linux内核协议栈,直接在用户空间和网卡之间进行数据包的异步收发;并进一步提供专门用于IPv6地址快速扫描工具DScan6,从Rapid7、Hitlist等5个数据来源收集到2690万个IPv6地址作为目标地址集,其中包括客户端、路由器和服务器,并随机选择了一个/64前缀的目标地址段,通过实验对比DScan6和Masscan、Scan6、XMap、Zmapv6这4种现有扫描工具的数据包收发速率,DScan6达到千兆以太网链路理论最大速度的99.3%,比现有扫描工具快2.1~3.4倍;另外,对DScan6还获到37本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于跨内核异步收发的IPv6地址快速扫描方法,其特征在于,包含:依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测数据包;绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包;解析应答数据包并获取存活的IPv6地址。2.根据权利要求1所述的基于跨内核异步收发的IPv6地址快速扫描方法,其特征在于,依据用户输入获取扫描任务所需相关配置信息,并根据相关配置信息构造探测包,包含:首先,根据用户输入确定扫描任务所需探测类型、目的IPv6地址和端口,并通过邻居发现协议NDP获取默认网关的MAC地址;然后,将扫描主机的IPv6地址和MAC地址作为源地址信息,目标IPv6地址和默认网关的MAC地址作为目标地址信息,并根据探测类型生成相应的探测数据包。3.根据权利要求2所述的基于跨内核异步收发的IPv6地址快速扫描方法,其特征在于,根据探测类型生成相应的探测数据包时,若探测类型为ICMPv6,则构造ICMPv6探测包,若探测类型为TCP,则构造TCP_SYN探测包,若探测类型为UDP,则构造UDP探测包。4.根据权利要求1所述的基于跨内核异步收发的IPv6地址快速扫描方法,其特征在于,绕过内核空间将探测数据包从用户态直接发送至网卡设备,并接收从网卡设备传送到用户态的应答数据包,包含:利用数据平面开发套件DPDK、用户空间I/O和轮询模式驱动通过独立线程在用户态和网卡设备之间直接交互数据包。5.根据权利要求4所述的基于跨内核异步收发的IPv6地址快速扫描方法,其特征在于,通过独立线程在用户态和网卡设备之间直接交互数据包,包含:首先,针对探测数据包,通过调用DPDK库函数初始化环境抽象层和网卡设备驱动,并设置网卡设备参数,所述网卡设备参数包含MTU、MAC地址和IP地...

【专利技术属性】
技术研发人员:张连成胡明郭毅张宏涛方亚开程兰馨杜雯雯马旭攀
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1