CN109413018B - 一种端口扫描方法及装置 - Google Patents
一种端口扫描方法及装置 Download PDFInfo
- Publication number
- CN109413018B CN109413018B CN201810399685.XA CN201810399685A CN109413018B CN 109413018 B CN109413018 B CN 109413018B CN 201810399685 A CN201810399685 A CN 201810399685A CN 109413018 B CN109413018 B CN 109413018B
- Authority
- CN
- China
- Prior art keywords
- target host
- group
- port
- target
- ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例提供一种端口扫描方法及装置,其中,所述方法包括:确定待扫描的各个目标主机;根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。本申请实施例在对多个目标主机的端口进行扫描时,将类型相同的端口放在同一个端口组中并进行扫描,能够有效地减少源主机的请求报文类型切换次数,从而加快端口扫描速度。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种端口扫描方法及装置。
背景技术
网络在现代生活中占据越来越重要的地位,用户服务器能够通过向远端服务器发送访问请求来获取远端服务器提供的网络服务。端口,作为从远端服务器获取网络服务的“大门”,对远端服务器的安全起着至关重要的作用,对于用户服务器来说,可以通过端口来获取网络服务,而对于黑客来说,则可以通过端口来对远端服务器进行攻击。因此,网络管理员需要掌握远端服务器上端口的开设情况,从而便于进一步对远端服务器的安全进行监管。
了解端口的开设情况最常见的方法就是对端口进行扫描,参阅图1,传统的端口扫描方法的原理是:若需要确定一个远端服务器的端口开设情况,则将该远端服务器作为一个目标主机,在源主机向目标主机传输一个请求报文之后,如果目标主机开设了该请求报文对应的端口,目标主机就会向源主机作出回应,如果没有开设该请求报文对应的端口,目标主机就不会向源主机作出回应。利用这个原理,当需要对多个端口进行扫描时,源主机向目标主机依次传输所述多个端口对应的请求报文,并记录下所有的回应,通过查看回应记录就可以了解到目标主机开设了哪些端口,从而对端口的开设情况进行监控。其中,针对不同类型的端口,源主机传输的请求报文的类型不同。
但是,每个目标主机中端口的排布顺序较为杂乱,相邻端口的类型往往不同,因此,在通过传统的端口扫描方法对每个目标主机进行端口扫描时,源主机需要来回切换发送的请求报文的类型,以实现对目标主机的端口扫描。特别的,当需要对多个目标主机的端口进行扫描时,源主机需要进行较多次的请求报文类型切换,从而导致端口扫描时间较长。
发明内容
本申请提供一种端口扫描方法及装置,以解决传统的端口扫描方法在对多个目标主机的端口进行扫描时,源主机需要进行较多次的请求报文切换,从而导致端口扫描时间较长的问题。
第一方面,本申请实施例提供一种端口扫描方法,所述方法包括:
确定待扫描的各个目标主机;
根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;
根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;
将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。
结合第一方面,在一种实现方式中,所述确定待扫描的各个目标主机,包括:
获取各个目标主机的网络特征;
根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
结合第一方面,在一种实现方式中,根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文,包括:
确定所述端口组所属的目标主机组对应的网络特征;
根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略;
根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文。
结合第一方面,在一种实现方式中,若所述端口组所属的目标主机组为第一目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,保持所述请求报文中的目标主机地址类型不变,其中,所述第一目标主机组中包含的目标主机地址类型相同;
若所述端口组所属的目标主机组为第二目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,将源主机的网卡类型调整至与所述第二目标主机组的网卡类型相同,其中,所述第二目标主机组中包含的目标主机的网卡类型相同;
若所述端口组所属的目标主机组为第三目标主机组,针对所述目标主机组的扫描策略为:生成的请求报文的数量小于预设阈值,其中,所述第三目标主机组中包含的目标主机与源主机相连接。
结合第一方面,在一种实现方式中,所述将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组,包括:
获取源主机的最大套接字数量和最大并发度;
若所述最大并发度大于所述最大套接字数量,则将所述最大并发度调整为所述最大套接字数量;
将所述多个端口组按照端口的类型的出现概率从高到低进行排列;
根据排列结果依次向端口的类型相同的多个端口组并发请求报文,其中,若端口的类型出现概率越高,则并发的请求报文的数量越小,若端口的类型出现概率越低,则并发的请求报文的数量越大,且所述并发的请求报文的数量不超过所述最大并发度。
结合第一方面,在一种实现方式中,根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组之后,还包括:
在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0;
如果是,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量;
如果否,则继续扫描下一组目标主机组。
第二方面,本申请实施例部分提供一种端口扫描装置,所述装置包括:
确定模块,用于确定待扫描的各个目标主机;
端口划分模块,用于根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;
请求报文生成模块,用于根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;
传输模块,用于将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。
结合第二方面,在一种实现方式中,所述确定模块,包括:
获取单元,用于获取各个目标主机的网络特征;
目标主机组划分单元,用于根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
结合第二方面,在一种实现方式中,所述请求报文生成模块,包括:
第一确定单元,用于确定所述端口组所属的目标主机组对应的网络特征;
第二确定单元,用于根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略;
请求报文生成单元,用于根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文。
结合第二方面,在一种实现方式中,所述目标主机组划分单元,还包括:
判断单元,用于在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0;
调整单元,用于如果所述判断单元确定完成扫描后的目标主机组的扫描时间超过M分钟,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量。
由以上技术方案可知,本申请实施例提供一种端口扫描方法及装置,其中,所述方法包括:确定待扫描的各个目标主机;根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。通过本申请实施例的方案在对多个目标主机的端口进行扫描时,将类型相同的端口放在同一个端口组中并进行扫描,能够有效地减少源主机的请求报文类型切换次数,从而加快端口扫描速度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为传统的端口扫描方法的原理示意图;
图2为本申请实施例提供的一种端口扫描方法的工作流程示意图;
图3为本申请实施例提供的一种端口扫描方法中,确定待扫描的各个目标主机的工作流程示意图;
图4为本申请实施例提供的一种端口扫描方法中确定扫描策略的工作流程示意图;
图5为本申请实施例提供的一种端口扫描方法中并发请求报文的工作流程示意图;
图6为本申请实施例提供的一种端口扫描方法中,确定待扫描的各个目标主机的又一工作流程示意图;
图7为本申请实施例提供的一种端口扫描装置的结构示意图;
图8为本申请实施例提供的一种端口扫描装置中确定模块的结构示意图;
图9为本申请实施例提供的一种端口扫描装置中请求报文生成模块的结构示意图;
图10为本申请实施例提供的一种端口扫描装置中目标主机组划分单元的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参阅图2,示出了本申请实施例提供的一种端口扫描方法的工作流程示意图,具体可以包括如下步骤:
步骤101,确定待扫描的各个目标主机。
本申请实施例提供的端口扫描方法中,在开始扫描前,首先将需要扫描的多个目标主机的信息输入端口扫描装置,即确定待扫描的各个目标主机,其中,所述多个目标主机的信息包括目标主机的IP地址、子网地址、IP范围和/或需要扫描的端口号等。
在本步骤中,各个目标主机均为在线的目标主机,其中,在线目标主机划分方法为:首先向所述输入的多个目标主机发送ping报文,如果收到目标主机的回应,则将其划分为在线目标主机,其次,对剩下的目标主机再次进行尝试确认,并同时向所述剩下的目标主机的443端口发送第一报文,例如:TCP SYN报文等,以及向目标主机的80端口发送第二报文,例如:TCP ACK报文,当收到回复报文,例如:RST报文后,则同样将该部分目标主机划分为在线的目标主机。
步骤102,根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同。
步骤103,根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文。
步骤104,将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。
每个目标主机上可以开设有多个端口,并且,针对不同类型的端口,源主机用于扫描的请求报文的类型不同,在上述步骤中,将类型相同的端口划分为一组,能够有效地减少源主机在对端口进行扫描时需要来回切换请求报文类型的次数,从而提升最终的端口扫描速度,减少端口的扫描时间。
在对端口进行分组之前,还可以先将端口的顺序进行随机打乱,从而避免在端口扫描过程被网络中的安全设备发现,进而影响端口扫描顺利进行,其中,端口顺序的打乱方法为:源主机获取随机数,将随机数对应的两个位置的端口号进行互换顺序,直至全部互换完毕,其中,随机数是由源主机的熵池计算得出的随机比特。
总体来说,本申请实施例提供的端口扫描方法包括:确定待扫描的各个目标主机;根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。通过本申请实施例的方案在对多个目标主机的端口进行扫描时,将类型相同的端口放在同一个端口组中并进行扫描,能够有效地减少源主机的请求报文类型切换次数,从而加快端口扫描速度。
参阅图3,示出了本申请实施例提供的一种端口扫描方法中,确定待扫描的各个目标主机的工作流程示意图,包括:
步骤201,获取各个目标主机的网络特征。
步骤202,根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
在进行端口扫描时,针对不同类型的端口,源主机生成的请求报文的类型不同,同样,针对不同网络特征的目标主机,源主机在对其进行扫描时,如果不制定相对应的扫描策略,也会出现扫描时间较长的问题,因此,在本步骤中,在对端口进行特征分组之前,本申请还针对目标主机的网络特征,对目标主机进行分组,并且将具有相同网络特征的目标主机分为一组,使源主机对相同网络特征的目标主机采用相同的扫描策略。
在本步骤中,在对目标主机进行分组前,首先确定每组目标主机组中包含的目标主机的数量,确定方法为:判断用户是否指定需要扫描的端口的数量,如果默认扫描所有的端口,则每组目标主机组中目标主机的数量为64,如果用户指定了需要扫描的端口的数量,则将1024与指定端口数量作商,并取舍去小数后得到的值与64之间的最大值作为目标主机组中包含目标主机的数量。
所述网络特征包括:地址类型、网卡类型和/或与源主机的连接状态等,具体步骤包括:
首先,第一次目标主机分组按照地址类型进行分组,其中,地址类型相同的目标主机分为一组,并且,每组中包含的目标主机的数量均为预先确定的数量,例如,将目标主机地址均为IPv4地址的分为一组,当存在剩余的IPv4地址的目标主机数量不足以分组的情况时,将剩余的IPv4地址划入第二次目标主机分组中;
其次,第二次目标主机分组将剩余未分组的目标主机按照网卡类型进行分组,其中,网卡类型相同的目标主机分为一组,并且,每组中包含的目标主机的数量均为预先确定的数量,例如,将网卡类型为A的分为一组,当存在剩余的网卡类型为A的目标主机数量不足以分组的情况时,将剩余的网卡类型为A的目标主机划入第三次目标主机分组中;
最后,第三次目标主机分组将剩余未分组的目标主机按照与源主机的连接状态进行分组,其中,与源主机相连接的分为一组,不与源主机相连的分为一组,并且,每组中包含的目标主机的数量均为预先确定的数量,当存在剩余的目标主机的数量不足以分组的情况时,则不再分组。
参阅图4,示出了本申请实施例提供的一种端口扫描方法中确定扫描策略的工作流程示意图,包括:
步骤301,确定所述端口组所属的目标主机组对应的网络特征。
步骤302,根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略。
步骤303,根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文。
在上述步骤中,源主机根据所述端口组所属的目标主机对应的网络特征,确定针对所述目标主机组的扫描策略,具体包括:
若所述端口组所属的目标主机组为第一目标主机组,其中,所述第一目标主机组中包含的目标主机地址类型相同,则针对第一目标主机组所产生的扫描策略为:源主机在生成请求报文的过程中,保持所述请求报文中的目标主机地址类型不变。
例如:若所述第一目标主机组中包含的目标主机地址类型为IPv4地址,则生成的请求报文的报头字节数均为24字节;若所述第一目标主机组中包含的目标主机地址类型为IPv6地址,则生成的请求报文的报头字节数均为40字节。通过上述技术方案可知,针对目标主机地址类型相同的目标主机,源主机在生成请求报文时采用相同报头字节数的请求报文,减少了来回切换报头字节数的次数,从而减少了端口扫描时间。
若所述端口组所属的目标主机组为第二目标主机组,其中,所述第二目标主机组中包含的目标主机的网卡类型相同,则针对第二目标主机组所产生的扫描策略为:在生成请求报文的过程中,将源主机的网卡类型调整至与所述第二目标主机组的网卡类型相同。
例如:若第二目标主机组中包含的目标主机的网卡类型为网卡A,则源主机切换使用网卡A,若第二目标主机组中包含的目标主机的网卡类型为网卡B,则源主机切换使用网卡B。通过上述技术方案可知,针对目标主机的网卡类型相同的目标主机,源主机采用相同类型的网卡,减少了来回切换网卡的次数,从而减少了端口扫描时间。
若所述端口组所属的目标主机组为第三目标主机组,其中,所述第三目标主机组中包含的目标主机与源主机相连接,则针对第三目标主机组所产生的扫描策略为:生成的请求报文的数量小于预设阈值。
例如:针对第三目标主机组产生的请求报文的数量小于预设阈值,其中,所述预设阈值为目标主机不与源主机相连时所预设的生成的请求报文的数量。通过上述技术方案可知,针对与源主机相连的目标主机,通过构造少量的请求报文即可基本确定目标主机上端口的开设情况,从而减少了端口扫描时间。
参阅图5,示出了本申请实施例提供的一种端口扫描方法中并发请求报文的工作流程示意图,包括:
步骤401,获取源主机的最大套接字数量和最大并发度。
步骤402,若所述最大并发度大于所述最大套接字数量,则将所述最大并发度调整为所述最大套接字数量。
在上述步骤中,最大套接字数量为源主机同时发起最多连接的数量,最大并发度是指源主机的最大并行扫描的能力。将源主机的最大并发度调整为源主机支持的最大套接字数量,有利于最大限度的地发挥源主机的并发请求报文的能力,从而提高扫描速度。
步骤403,将所述多个端口组按照端口的类型的出现概率从高到低进行排列。
步骤404,根据排列结果依次向端口的类型相同的多个端口组并发请求报文,其中,若端口的类型出现概率越高,则并发的请求报文的数量越小,若端口的类型出现概率越低,则并发的请求报文的数量越大,且所述并发的请求报文的数量不超过所述最大并发度。
在上述步骤中,将所述多个端口组按照端口的类型的出现概率从高到低进行排列,其中对出现概率较高的端口组优先扫描,同时并发少量请求报文;出现概率低的端口组后扫描,同时并发多个请求报文,该步骤能够自适应调整并发的请求报文的数量,节约扫描资源,同时,出现概率较高的端口组优先扫描能够有利于源主机即时输出有用的结果,减少用户等待结果的时间。
参阅图6,示出了申请实施例提供的一种端口扫描方法中,确定待扫描的各个目标主机的又一工作流程示意图,包括:
步骤501,获取各个目标主机的网络特征。
步骤502,根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机。
步骤503,在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0。
步骤504,如果是,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量。
步骤505,如果否,则继续扫描下一组目标主机组。
其中,步骤501与步骤201的具体操作过程相同,步骤502与步骤202的具体操作过程相同,可相互参见,此处不再赘述。
在上述步骤中,源主机在完成任意一组目标主机组扫描后,对所述扫描时间进行判断,当所述扫描时间超过M分钟,则认定为网络状况不佳,则调整每组目标主机组中包含的目标主机的数量为N,从而实现根据当前的网络状况自适应调整扫描方式。
例如:当前每组目标主机组中包含的目标主机的数量为64个,当完成一组目标主机组扫描后,如果该目标主机组的扫描时间超过3分钟,则判断当前网络状况不佳,并将每组目标主机组中包含的目标主机的数量调整为8个,即实现根据当前网络状况进行自适应调整。
参阅图7,示出了本申请实施例提供的一种端口扫描装置的结构示意图,包括:
确定模块601,用于确定待扫描的各个目标主机。
端口划分模块602,用于根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同。
请求报文生成模块603,用于根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文。
传输模块604,用于将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组。
参阅图8,示出了本申请实施例提供的一种端口扫描装置中确定模块601的结构示意图,包括:
获取单元701,用于获取各个目标主机的网络特征。
目标主机组划分单元702,用于根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
参阅图9,示出了本申请实施例提供的一种端口扫描装置中请求报文生成模块603的结构示意图,包括:
第一确定单元801,用于确定所述端口组所属的目标主机组对应的网络特征。
第二确定单元802,用于根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略。
请求报文生成单元803,用于根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文。
参阅图10,示出了本申请实施例提供的一种端口扫描装置中目标主机组划分单元702的结构示意图,包括:
判断单元901,用于在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0。
调整单元902,用于如果所述判断单元确定完成扫描后的目标主机组的扫描时间超过M分钟,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的端口扫描方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (8)
1.一种端口扫描方法,其特征在于,所述方法包括:
确定待扫描的各个目标主机;
根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;
根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;
将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组;
其中,所述将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组,包括:
获取源主机的最大套接字数量和最大并发度;
若所述最大并发度大于所述最大套接字数量,则将所述最大并发度调整为所述最大套接字数量;
将所述多个端口组按照端口的类型的出现概率从高到低进行排列;
根据排列结果依次向端口的类型相同的多个端口组并发请求报文,其中,若端口的类型出现概率越高,则并发的请求报文的数量越小,若端口的类型出现概率越低,则并发的请求报文的数量越大,且所述并发的请求报文的数量不超过所述最大并发度。
2.根据权利要求1所述的端口扫描方法,其特征在于,所述确定待扫描的各个目标主机,包括:
获取各个目标主机的网络特征;
根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
3.根据权利要求2所述的端口扫描方法,其特征在于,根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文,包括:
确定所述端口组所属的目标主机组对应的网络特征;
根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略;
根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文;
其中,根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略,包括:
若所述端口组所属的目标主机组为第一目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,保持所述请求报文中的目标主机地址类型不变,其中,所述第一目标主机组中包含的目标主机地址类型相同;
若所述端口组所属的目标主机组为第二目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,将源主机的网卡类型调整至与所述第二目标主机组的网卡类型相同,其中,所述第二目标主机组中包含的目标主机的网卡类型相同;
若所述端口组所属的目标主机组为第三目标主机组,针对所述目标主机组的扫描策略为:生成的请求报文的数量小于预设阈值,其中,所述第三目标主机组中包含的目标主机与源主机相连接。
4.根据权利要求2所述的端口扫描方法,其特征在于,根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组之后,还包括:
在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0;
如果是,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量;
如果否,则继续扫描下一组目标主机组。
5.一种端口扫描装置,其特征在于,包括:
确定模块,用于确定待扫描的各个目标主机;
端口划分模块,用于根据待扫描的各个目标主机包含的端口的类型,将所述端口划分为多个端口组,其中,每个端口组中包含的端口的类型相同;
请求报文生成模块,用于根据所述每个端口组中包含的端口的类型,分别生成与所述端口的类型相对应的请求报文;
传输模块,用于将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组;
其中,所述将与所述端口的类型相对应的请求报文分别传输至包含所述端口的端口组,包括:
获取源主机的最大套接字数量和最大并发度;
若所述最大并发度大于所述最大套接字数量,则将所述最大并发度调整为所述最大套接字数量;
将所述多个端口组按照端口的类型的出现概率从高到低进行排列;
根据排列结果依次向端口的类型相同的多个端口组并发请求报文,其中,若端口的类型出现概率越高,则并发的请求报文的数量越小,若端口的类型出现概率越低,则并发的请求报文的数量越大,且所述并发的请求报文的数量不超过所述最大并发度。
6.根据权利要求5所述的端口扫描装置,其特征在于,所述确定模块,包括:
获取单元,用于获取各个目标主机的网络特征;
目标主机组划分单元,用于根据各个目标主机的网络特征,将所述目标主机分为多个目标主机组,并分别确定各个目标主机组中包含的各个目标主机为所述待扫描的各个目标主机,其中,每个目标主机组中包含的各个目标主机的网络特征相同,所述目标主机的网络特征包括:地址类型、网卡类型和/或与源主机的连接状态。
7.根据权利要求6所述的端口扫描装置,其特征在于,所述请求报文生成模块,包括:
第一确定单元,用于确定所述端口组所属的目标主机组对应的网络特征;
第二确定单元,用于根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略;
请求报文生成单元,用于根据所述目标主机组的扫描策略,生成与所述端口的类型相对应的请求报文;
其中,根据所述端口组所属的目标主机组对应的网络特征,确定针对所述目标主机组的扫描策略:包括:
若所述端口组所属的目标主机组为第一目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,保持所述请求报文中的目标主机地址类型不变,其中,所述第一目标主机组中包含的目标主机地址类型相同;
若所述端口组所属的目标主机组为第二目标主机组,针对所述目标主机组的扫描策略为:在生成请求报文的过程中,将源主机的网卡类型调整至与所述第二目标主机组的网卡类型相同,其中,所述第二目标主机组中包含的目标主机的网卡类型相同;
若所述端口组所属的目标主机组为第三目标主机组,针对所述目标主机组的扫描策略为:生成的请求报文的数量小于预设阈值,其中,所述第三目标主机组中包含的目标主机与源主机相连接。
8.根据权利要求6所述的端口扫描装置,其特征在于,所述目标主机组划分单元,还包括:
判断单元,用于在完成任意一组目标主机组扫描后,判断完成扫描后的目标主机组的扫描时间是否超过M分钟,其中M大于0;
调整单元,用于如果所述判断单元确定完成扫描后的目标主机组的扫描时间超过M分钟,则将每组目标主机组中包含的目标主机的数量调整为N,其中N为正整数,且N小于调整前每组目标主机组中包含的目标主机的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399685.XA CN109413018B (zh) | 2018-04-28 | 2018-04-28 | 一种端口扫描方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399685.XA CN109413018B (zh) | 2018-04-28 | 2018-04-28 | 一种端口扫描方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109413018A CN109413018A (zh) | 2019-03-01 |
CN109413018B true CN109413018B (zh) | 2021-06-08 |
Family
ID=65464112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810399685.XA Active CN109413018B (zh) | 2018-04-28 | 2018-04-28 | 一种端口扫描方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413018B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691072A (zh) * | 2019-09-11 | 2020-01-14 | 光通天下网络科技股份有限公司 | 分布式端口扫描方法、装置、介质、电子设备 |
CN113542045B (zh) * | 2020-04-21 | 2023-01-24 | 北京威努特技术有限公司 | 一种tcp端口状态确定方法及装置 |
CN113162979B (zh) * | 2021-03-17 | 2021-11-23 | 深圳乐播科技有限公司 | 服务发布方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905888A (en) * | 1997-02-19 | 1999-05-18 | On Spec Electronic, Inc. | Bootable redundant hard disk attached to a PC's parallel port with rom-address auto-detect and configure during BIOS scan |
CN1694412A (zh) * | 2004-07-16 | 2005-11-09 | 北京航空航天大学 | 一种基于有穷状态自动机的网络入侵预警方法 |
US8239949B2 (en) * | 2002-07-19 | 2012-08-07 | Fortinet, Inc. | Managing network traffic flow |
CN103560995A (zh) * | 2013-09-25 | 2014-02-05 | 深圳市共进电子股份有限公司 | 一种同时实现ipv4和ipv6的URL过滤方法 |
CN104852921A (zh) * | 2015-05-25 | 2015-08-19 | 烽火通信科技股份有限公司 | 网络设备防开放端口攻击测试系统及方法 |
CN106301909A (zh) * | 2016-08-11 | 2017-01-04 | 杭州华三通信技术有限公司 | 一种端口探测方法和装置 |
CN106888194A (zh) * | 2015-12-16 | 2017-06-23 | 国家电网公司 | 基于分布式调度的智能电网it资产安全监测系统 |
CN107045616A (zh) * | 2017-01-09 | 2017-08-15 | 东软集团股份有限公司 | 扫描引擎的扫描方法及扫描装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110344A1 (en) * | 1996-09-18 | 2003-06-12 | Andre Szczepanek | Communications systems, apparatus and methods |
US20080288633A1 (en) * | 2007-05-18 | 2008-11-20 | Kestrelink Corporation | Network device tracking using a network device server |
US8973138B2 (en) * | 2012-05-02 | 2015-03-03 | The Johns Hopkins University | Secure layered iterative gateway |
US9810736B2 (en) * | 2015-12-17 | 2017-11-07 | Raytheon Company | System and apparatus for trusted and secure test ports of integrated circuit devices |
US10243980B2 (en) * | 2016-03-24 | 2019-03-26 | Cisco Technology, Inc. | Edge-based machine learning for encoding legitimate scanning |
-
2018
- 2018-04-28 CN CN201810399685.XA patent/CN109413018B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905888A (en) * | 1997-02-19 | 1999-05-18 | On Spec Electronic, Inc. | Bootable redundant hard disk attached to a PC's parallel port with rom-address auto-detect and configure during BIOS scan |
US8239949B2 (en) * | 2002-07-19 | 2012-08-07 | Fortinet, Inc. | Managing network traffic flow |
CN1694412A (zh) * | 2004-07-16 | 2005-11-09 | 北京航空航天大学 | 一种基于有穷状态自动机的网络入侵预警方法 |
CN103560995A (zh) * | 2013-09-25 | 2014-02-05 | 深圳市共进电子股份有限公司 | 一种同时实现ipv4和ipv6的URL过滤方法 |
CN104852921A (zh) * | 2015-05-25 | 2015-08-19 | 烽火通信科技股份有限公司 | 网络设备防开放端口攻击测试系统及方法 |
CN106888194A (zh) * | 2015-12-16 | 2017-06-23 | 国家电网公司 | 基于分布式调度的智能电网it资产安全监测系统 |
CN106301909A (zh) * | 2016-08-11 | 2017-01-04 | 杭州华三通信技术有限公司 | 一种端口探测方法和装置 |
CN107045616A (zh) * | 2017-01-09 | 2017-08-15 | 东软集团股份有限公司 | 扫描引擎的扫描方法及扫描装置 |
Non-Patent Citations (2)
Title |
---|
一种改进的端口扫描器的设计与实现;李继容;《计算机测量与控制》;20100921;全文 * |
网络安全扫描工具的分析与比较;谈进;《计算机应用研究》;20040220;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109413018A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162740B2 (en) | Denial of service defense by proxy | |
CN109413018B (zh) | 一种端口扫描方法及装置 | |
CN109981803B (zh) | 业务请求处理方法及装置 | |
EP3958534B1 (en) | Method and apparatus for establishing end-to-end network connection, and network system | |
US8589473B2 (en) | Technique for handling initiation requests | |
EP1319296A2 (en) | System and process for defending against denial of service attacks on network nodes | |
US7346669B2 (en) | Method, apparatus and system for processing message bundles on a network | |
CN111212096A (zh) | 一种降低idc防御成本的方法、装置、存储介质和计算机 | |
EP3817308A1 (en) | Method, device and system for responding to request and applied to bt system | |
Morrell et al. | Scaling IPv6 address bindings in support of a moving target defense | |
CN110798402B (zh) | 业务消息处理方法、装置、设备及存储介质 | |
CN113114666B (zh) | 一种sdn网络中针对扫描攻击的移动目标防御方法 | |
CN109600273B (zh) | 一种udp报文传输性能的优化方法及系统 | |
CN102427452B (zh) | 同步报文发送方法、装置和网络设备 | |
CN113872949B (zh) | 一种地址解析协议的应答方法及相关装置 | |
EP3618396A1 (en) | Protection method and system for http flood attack | |
CN114500021B (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
RU2696330C1 (ru) | Способ защиты вычислительных сетей | |
RU2680038C1 (ru) | Способ защиты вычислительных сетей | |
US8639828B1 (en) | Accelerated TCP network communications | |
US20200274847A1 (en) | Access device for analysis of physical links and method thereof | |
CN113179247B (zh) | 拒绝服务攻击防护方法、电子装置和存储介质 | |
US7454614B2 (en) | Method and apparatus for fault tolerant TCP handshaking | |
CN102523224B (zh) | 一种arp流量控制方法和系统 | |
CN117527309A (zh) | 一种防御分布式拒绝服务攻击的方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |