一种快速大规模主机在线识别的方法技术

技术编号:34181459 阅读:22 留言:0更新日期:2022-07-17 13:11
本发明专利技术公开了一种快速大规模主机在线识别的方法,包括以下步骤:步骤一:预处理输入参数,转化为IP地址数据集合,并动态申请内存存储数据结构,然后创建接收线程,开启接收通道随时准备接收数据;步骤二:通过发送线程将目标主机群的参数,依次封装成ICMP的Echo

【技术实现步骤摘要】
一种快速大规模主机在线识别的方法


[0001]本专利技术涉及主机识别领域,具体涉及一种快速大规模主机在线识别的方法。

技术介绍

[0002]目前探测主机在线的最通常做法就是通过ICMP报文的请求与应答方式,即发送方发送ICMP协议Echo命令的request,然后如果能收到被探测主机的reply报文,则证明主机在线,在进行主机识别过程中即会使用到主机在线识别方法。
[0003]现有的主机在线识别方法,在实际使用过程中多使用传统方法,通过ping命令的方式,每次只能检测一台主机是否网络可达,并且等待时间长,效率低,而且数据结果复杂,且需二次解析才能使用,给主机在线识别方法的使用带来了一定的影响,因此,提出一种快速大规模主机在线识别的方法。

技术实现思路

[0004]本专利技术所要解决的技术问题在于:如何解决现有的主机在线识别方法,在实际使用过程中多使用传统方法,通过ping命令的方式,每次只能检测一台主机是否网络可达,并且等待时间长,效率低,而且数据结果复杂,且需二次解析才能使用,给主机在线识别方法的使用带来了一定的影响的问题,提供了一种快速大规模主机在线识别的方法。
[0005]本专利技术是通过以下技术方案解决上述技术问题的,本专利技术包括以下步骤:
[0006]步骤一:预处理输入参数,转化为IP地址数据集合,并动态申请内存存储数据结构,然后创建接收线程,开启接收通道随时准备接收数据;
[0007]步骤二:通过发送线程将目标主机群的参数,依次封装成ICMP的Echor/>‑
request报文,手动构造出数据包,通过原始套接字的方法,再依次直接发送给网卡,然后通过网络到达目标主机群;
[0008]步骤三:在线主机收到Echo

request报文后,会做出应答,返回Echo

reply报文;
[0009]步骤四:通过接收线程进行数据接收处理,一旦有主机做出响应,接收线程会接收到应答报文,其中应答报文的Type类型值为0,并且在请求报文中增加了特殊标记Identifier,该标记会在应答报文中被返回,通过对比特殊标记,过滤出做出应答的主机IP地址,最后将结果显示出来,即响应来源;
[0010]步骤五:统一分析响应来源,判断主机是否在线接收socket只绑定检测来源IP及是否是ICMP协议,然后分析判断是否为ICMP的Echo

reply,然后进行处理,即确定。
[0011]进一步在于,所述封装ICMP的Echo

request报文的具体过程如下:发送线程根据前面计算出的IP范围,封装出对应IP地址的探测请求报文,报文内容包括Type类型、Code编码与Identifier标记符,其中的Type类型与Code编码为预设值时,二者结合表示为请求回显,即希望对方做出应答;Identifier标记符,为预设的标记0x0f0f。
[0012]进一步在于,所述发送线程只负责Echo

request报文发送,接收线程只负责接收数据和解析数据。
[0013]进一步在于,所述接收线程接收模式采用select模式。
[0014]进一步在于,所述select模式的具体过程如下:数据经过内核之后,触发socket的select响应,再进行解析判断,并且通过超时时间配置,灵活掌握等待时间。
[0015]进一步在于,所述Echo

request报文中的ICMP的报文是将目标主机群参数手动填入后获取,所述Echo

request报文中IP头为自动填充。
[0016]本专利技术相比现有技术具有以下优点:该快速大规模主机在线识别的方法,通过快速构建ICMP探测报文,通过双通道收发分离的方式,结合预置特殊标记方式,进行报文的快速发送与处理分析,从而能够在极短的时间内,探测大范围主机的在线情况,并记录下来,实现了快速高效大范围主机的在线状态扫描和记录,通过缓存可以加快读取速度,并且预置数据可以避免了发送时候再进行运算,极大得提高了发送效率,能将所有IP地址的探测报文以最大速度发送出来,并且通过标记符的设置,可以准确过滤发送的消息,不被其他主机发送的数据干扰;并且由于双通道的存在,接收处理同步进行,能在极短时间内列出在线主机,让该方法更加值得推广使用。
附图说明
[0017]图1是本专利技术的整体流程图;
[0018]图2是本专利技术的发送线程流程图。
具体实施方式
[0019]下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。
[0020]如图1和2所示,本实施例提供一种技术方案:一种快速大规模主机在线识别的方法,包括以下步骤:
[0021]步骤一:预处理输入参数,转化为IP地址数据集合,并动态申请内存存储数据结构,然后创建接收线程,开启接收通道随时准备接收数据;
[0022]步骤二:通过发送线程将目标主机群的参数,依次封装成ICMP的Echo

request报文,手动构造出数据包,通过原始套接字的方法,再依次直接发送给网卡,然后通过网络到达目标主机群;
[0023]所述Echo

request报文中的ICMP的报文是将目标主机群参数手动填入后获取,所述Echo

request报文中IP头为自动填充;
[0024]步骤三:在线主机收到Echo

request报文后,会做出应答,返回Echo

reply报文;
[0025]步骤四:通过接收线程进行数据接收处理,一旦有主机做出响应,接收线程会接收到应答报文,其中应答报文的Type类型值为0,并且在请求报文中增加了特殊标记Identifier,该标记会在应答报文中被返回,通过对比特殊标记,过滤出做出应答的主机IP地址,最后将结果显示出来,即响应来源;
[0026]步骤五:统一分析响应来源,判断主机是否在线接收socket只绑定检测来源IP及是否是ICMP协议,然后分析判断是否为ICMP的Echo

reply,然后进行处理,即确定。
[0027]所述封装ICMP的Echo

request报文的具体过程如下:发送线程根据前面计算出的
IP范围,封装出对应IP地址的探测请求报文,报文内容包括Type类型、Code编码与Identifier标记符,其中的Type类型与Code编码为预设值时,二者结合表示为请求回显,即希望对方做出应答;Identifier标记符,为预设的标记0x0f0f。
[0028]所述发送线程只负责Echo

request报文发送,接收线程只负责接收数据和解析数据。
[0029]该快速大规模主机在线识别的方法,通本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种快速大规模主机在线识别的方法,其特征在于,包括以下步骤:步骤一:预处理输入参数,转化为IP地址数据集合,并动态申请内存存储数据结构,然后创建接收线程,开启接收通道随时准备接收数据;步骤二:通过发送线程将目标主机群的参数,依次封装成ICMP的Echo

request报文,手动构造出数据包,通过原始套接字的方法,再依次直接发送给网卡,然后通过网络到达目标主机群;步骤三:在线主机收到Echo

request报文后,会做出应答,返回Echo

reply报文;步骤四:通过接收线程进行数据接收处理,获取到处理结果,即响应来源;步骤五:统一分析响应来源,然后进行处理,即确定识别结果。2.根据权利要求1所述的一种快速大规模主机在线识别的方法,其特征在于:所述封装ICMP的Echo

request报文的具体过程如下:发送线程根据前面计算出的IP范围,封装出对应IP地址的探测请求报文,报文内容包括Type类型、Code编码与Identifier标记符,其中的Type类型与Code编码为预设值时,二者结合表示为请求回显,即希望对方做出应答;Identifier标记符,为预设的标记0x0f0f。3.根据权利要求1所述的一种快速大规模主机在线识别的方法,其特征在于:所述发送线程只负责Echo

request报文发送,接收线程只负责接收数据和解析数据。4....

【专利技术属性】
技术研发人员:王艺霖胡茂霖王安平李浩
申请(专利权)人:和中通信科技有限公司
类型:发明
国别省市:

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

1