一种端口扫描方法、装置及扫描引擎与流程

文档序号:36457626发布日期:2023-12-21 17:39阅读:26来源:国知局
一种端口扫描方法与流程

本技术涉及网络安全,尤其是涉及一种端口扫描方法、装置及扫描引擎。


背景技术:

1、扫描技术是保证网络安全的关键性技术,利用扫描技术实时监测网络,能够及时发现网络或主机中可能存在的问题,防范网络中的恶意攻击和破坏,加强网络和主机的安全性。通过对目标主机进行扫描,分析目标主机响应的数据包,可以获得关于目标主机的很多有用信息,比如系统开放的端口、提供的服务等。

2、目前市场上存在许多端口扫描工具和系统,旨在探测目标主机上的开放端口和服务,从而查找主机中存在的安全漏洞。端口扫描工具包括nmap、masscan和zmap等。nmap是一种广泛使用的开源网络探测和安全评估工具。它可以扫描目标网络,发现主机、开放端口和提供的服务信息。nmap提供了多种扫描技术和选项。masscan是一款高速、开源的端口扫描工具,相比于传统的扫描工具,具有出色的性能和速度,能够以非常快的速度扫描大规模ip(internet protocol,网际互连协议)段。zmap是一种快速的开源网络扫描器,专注于进行互联网规模的端口扫描,它能够在短时间内扫描大量ip地址,并提供高效的结果处理功能。

3、但是,这些工具通常选用多种扫描技术对主机的端口进行全面扫描,如tcp-syn扫描、tcp完整连接扫描、udp端口扫描,这些技术主要用于探测主机的存活性或特定端口的开放状态,采用单线程的方式执行每个扫描任务,以完成针对主机的端口探测。通过一次全面扫描可以获得与该扫描技术对应的端口的开放状态,但不适用于该扫描技术的端口不会被检测出来,需要分别选取其他扫描技术进行多次全面扫描,直到所有的端口状态被检测出来。因而,针对主机端口扫描需要结合多个扫描方式依次扫描,造成扫描耗时较长,端口扫描效率低的问题。


技术实现思路

1、为了解决现有技术中端口扫描方法扫描效率低的问题,本技术实施例提供了一种端口扫描方法、装置及扫描引擎。

2、第一方面,本技术提供一种端口扫描方法,采用如下的技术方案:

3、一种端口扫描方法,包括:

4、获取目标主机的协议类型和扫描需求;

5、根据所述协议类型从多个备选扫描方式中选择若干初始扫描方式,判断所述若干初始扫描方式的数量是否为一;

6、当所述若干初始扫描方式的数量不为一时,根据所述目标主机的扫描需求,从所述若干初始扫描方式中确定目标扫描方式;

7、根据所述目标扫描方式对所述目标主机进行端口扫描。

8、通过采用上述技术方案,首先获取目标主机的协议类型,并根据目标主机的协议类型,从多个备选扫描方式中选择符合协议类型的若干初始扫描方式,能够基于协议类型对目标主机适用的扫描方式进行初步筛选。当若干初始扫描方式数量不为一时,根据目标主机的扫描需求,从若干初始扫描方式中选择符合扫描需求的目标扫描方式进行端口扫描,能够在符合协议类型的同时针对扫描需求选择相应的目标扫描方式。本技术通过综合考虑目标主机的协议类型和扫描需求,有针对性的选择合适的扫描方式,能够提高目标主机的端口扫描效率。

9、本技术在一较佳示例中可以进一步配置为:所述协议类型为tcp(transmissioncontrol protocol,传输控制)协议、udp(user datagram protocol,用户数据报)协议和sctp(stream control transmission protocol,流控制传输)协议中的一种;

10、所述扫描需求为有效需求和无效需求,所述有效需求为高速度需求、高准确度需求、高隐蔽性需求中的一种;

11、其中,所述高速度需求为要求所述目标主机的扫描速度超过预设速度阈值的需求,所述高准确度需求为要求所述目标主机的扫描准确度超过预设准确度阈值的需求。

12、通过采用上述技术方案,将目标主机的协议类型分为tcp协议、udp协议和sctp协议,将目标主机的扫描需求分为有效需求和无效需求,有效需求进一步分为高速度需求、高准确度需求、高隐蔽性需求,能够根据不同需求精准选择合适的目标扫描方式对目标主机进行扫描。

13、本技术在一较佳示例中可以进一步配置为:所述根据所述协议类型从多个备选扫描方式中选择若干初始扫描方式,包括:

14、当所述目标主机的协议类型为所述tcp协议时,从多个备选扫描方式中选择tcp-syn扫描方式、tcp完整连接扫描方式、非syn/rst/ack扫描方式、ack扫描方式以及窗口扫描方式作为所述若干初始扫描方式;

15、当所述目标主机的协议类型为所述udp协议时,从多个备选扫描方式中选择udp端口扫描方式作为所述若干初始扫描方式;

16、当所述目标主机的协议类型为所述sctp协议时,从多个备选扫描方式中选择sctp扫描方式作为所述若干初始扫描方式。

17、通过采用上述技术方案,在目标主机的协议类型分别为tcp协议、udp协议和sctp协议时,从多个备选扫描方式中选择适合对应协议的若干初始扫描方式,从而将多个备选扫描方式根据目标主机协议类型进行了初步的划分,以便后续根据目标主机扫描需求进行进一步选择。

18、本技术在一较佳示例中可以进一步配置为:当所述若干初始扫描方式为tcp-syn扫描方式、tcp完整连接扫描方式、非syn/rst/ack扫描方式、ack扫描方式以及窗口扫描方式,且扫描需求为无需求时,

19、所述根据所述目标主机的扫描需求,从所述若干初始扫描方式中确定目标扫描方式,包括:

20、根据所述目标主机的扫描需求,从所述若干初始扫描方式中选择所述窗口扫描方式作为所述目标主机的目标扫描方式;

21、相应的,所述根据所述目标扫描方式对所述目标主机进行端口扫描,包括:

22、将窗口字段值非零的第一数据包发送至所述目标主机的每个端口;

23、当所述目标主机返回包含端口信息的窗口字段值非零的数据包时,判定所述端口为开放;

24、当所述目标主机返回包含端口信息的窗口字段值为零的数据包时,判定所述端口为关闭。

25、通过采用上述技术方案,在目标主机扫描需求为无需求的情况下,为目标主机选择窗口扫描方式,将窗口字段值非零的第一数据包发送至所述目标主机的每个端口,通过接收目标主机响应的数据包并判断数据包的窗口字段值,能够准确判断目标主机端口的开放状态。

26、本技术在一较佳示例中可以进一步配置为:当所述若干初始扫描方式为tcp-syn扫描方式、tcp完整连接扫描方式、非syn/rst/ack扫描方式、ack扫描方式以及窗口扫描方式,且所述扫描需求为有效需求时,

27、所述根据所述目标主机的扫描需求,从所述若干初始扫描方式中确定目标扫描方式,包括:

28、当所述目标主机的扫描需求为所述高速度需求时,从所述若干初始扫描方式中选择所述tcp-syn扫描方式作为所述目标扫描方式;

29、当所述目标主机的扫描需求为所述高准确度需求时,从所述若干初始扫描方式中选择所述tcp完整连接扫描方式作为所述目标扫描方式;

30、当所述目标主机的扫描需求为所述隐蔽性需求时,从所述若干初始扫描方式中选择所述非syn/rst/ack扫描方式或ack扫描方式作为所述目标扫描方式。

31、通过采用上述技术方案,当若干初始扫描方式为tcp-syn扫描方式、tcp完整连接扫描方式、非syn/rst/ack扫描方式、ack扫描方式以及窗口扫描方式,且扫描需求为有效需求时,分别为高速度需求、高准确度需求或隐蔽性需求的目标主机,精准选择了符合目标主机扫描需求的目标扫描方式。

32、本技术在一较佳示例中可以进一步配置为:当所述目标扫描方式为所述非syn/rst/ack扫描方式时,所述根据所述目标扫描方式对所述目标主机进行端口扫描,包括:

33、将标志位发送至所述目标主机的每个端口,其中,所述标志位包括fin标志位、urg标志位和psh标志位中的一个;

34、当所述目标主机不返回包含端口信息的数据包时,判定所述端口为开放;

35、当所述目标主机返回包含端口信息的rst数据包时,判定所述端口为关闭。

36、通过采用上述技术方案,当目标扫描方式为非syn/rst/ack扫描方式时,将标志位发送至目标主机的每个端口,通过接收目标主机响应的数据包,能够准确判断目标主机端口的开放状态。

37、本技术在一较佳示例中可以进一步配置为:当所述目标扫描方式为所述tcp-syn扫描方式,且同时对多个目标主机进行端口扫描时,

38、在所述根据所述目标扫描方式对所述目标主机进行端口扫描之前,还包括:

39、获取所述目标扫描方式为所述tcp-syn扫描方式的目标主机的第一数量;

40、当所述第一数量超过预设数量阈值时,基于目标主机的优先级,从所述第一数量的目标主机中,选择数量为所述预设数量阈值的目标主机构成第一主机集合,剩余的目标主机构成第二主机集合;

41、为所述第一主机集合中每个目标主机,选择所述tcp-syn扫描方式作为目标扫描方式;

42、为所述第二主机集合中每个目标主机,选择所述tcp完整连接扫描方式、所述非syn/rst/ack扫描方式、所述ack扫描方式以及所述窗口扫描方式中的一种作为目标扫描方式。

43、通过采用上述技术方案,在扫描需求为高速度需求的目标主机数量过多时,根据目标主机的优先级,为部分扫描需求为高速度需求的目标主机选择其他扫描方式,能够避免扫描引擎同时对多个目标主机进行高速度扫描,影响扫描引擎或目标主机的正常运行。

44、本技术在一较佳示例中可以进一步配置为:当所述目标扫描方式为所述tcp-syn扫描方式,且同时对多个目标主机进行端口扫描时,在所述根据所述目标扫描方式对所述目标主机进行端口扫描之前,还包括:

45、获取所述目标扫描方式为所述tcp-syn扫描方式的目标主机的第一数量;

46、当所述第一数量超过预设数量阈值时,针对所述第一数量的目标主机,按照目标主机的优先级由高到低,对所述第一数量的目标主机进行排序,得到目标主机的优先级列表;

47、从所述优先级列表中依次选取设定数量的目标主机作为一组,得到若干主机组;

48、按照分组顺序依次对所述若干主机组进行端口扫描。

49、通过采用上述技术方案,在扫描需求为高速度需求的目标主机数量过多时,根据目标主机的优先级,将目标扫描方式为tcp-syn扫描方式的目标主机进行分组扫描,避免了扫描引擎同时对多个目标主机进行高速度扫描,能够延长扫描引擎的寿命。

50、第二方面,本技术提供一种端口扫描装置,采用如下的技术方案:

51、一种端口扫描装置,包括:

52、获取模块,用于获取目标主机的协议类型和扫描需求;

53、判断模块,用于根据所述协议类型从多个备选扫描方式中选择若干初始扫描方式,判断所述若干初始扫描方式的数量是否为一;

54、选择模块,用于当所述若干初始扫描方式的数量不为一时,根据所述目标主机的扫描需求,从所述若干初始扫描方式中确定目标扫描方式;

55、扫描模块,用于根据所述目标扫描方式对所述目标主机进行端口扫描。

56、第三方面,本技术提供一种扫描引擎,采用如下的技术方案:

57、一个或多个处理器;

58、存储器;

59、一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行如第一方面任一项所述的端口扫描方法。

60、第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:

61、一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行如第一方面任一项所述的端口扫描方法。

62、综上所述,本技术包括以下有益技术效果:

63、本技术通过获取目标主机的协议类型和扫描需求,并根据协议类型从多个备选扫描方式中选择若干初始扫描方式,能够基于协议类型对目标主机适用的扫描方式进行初步筛选。判断若干初始扫描方式的数量是否为一,当若干初始扫描方式的数量不为一时,根据目标主机的扫描需求,从若干初始扫描方式中确定目标扫描方式,能够在符合协议类型的同时针对扫描需求选择相应的目标扫描方式。根据目标扫描方式对目标主机进行端口扫描。本技术通过综合考虑目标主机的协议类型和扫描需求,有针对性的选择合适的扫描方式,能够提高目标主机的端口扫描效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1