CN112596874B - 一种信息处理方法及电子设备 - Google Patents
一种信息处理方法及电子设备 Download PDFInfo
- Publication number
- CN112596874B CN112596874B CN202011489673.XA CN202011489673A CN112596874B CN 112596874 B CN112596874 B CN 112596874B CN 202011489673 A CN202011489673 A CN 202011489673A CN 112596874 B CN112596874 B CN 112596874B
- Authority
- CN
- China
- Prior art keywords
- target
- information
- data packet
- thread
- port
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种信息处理方法及电子设备,该方法包括:获取任务信息集;从预先构建的第一线程池调取用于发送数据的第一线程,利用第一线程随机获取任务信息,基于获取的任务信息创建第一数据包;将第一数据包添加到预先构建的任务队列中,通过任务队列向目标设备的目标端口发送第一数据包,以请求建立连接;从预先构建的第二线程池调取用于接收数据的第二线程,通过第二线程接收目标设备的目标端口反馈的第二数据包;在基于第二数据包确定目标设备的目标端口处于开放状态的情况下,基于第二数据包生成用于标识目标端口状态的扫描信息,存储扫描信息以供调用。本申请实施例的信息处理方法,端口的扫描速度较快,对系统资源的占用较少。
Description
技术领域
本申请涉及网络通信领域,特别涉及一种信息处理方法及电子设备。
背景技术
随着科学技术的飞速发展,信息技术应用也渗透到了各个领域,正在不断改善着人们的生活方式。随着信息技术的发展,信息技术应用也带来了严重的安全问题。由于网络的开放性、资源共享、权限问题等特点,网络攻击、渗透入侵、隐私泄露、资源控制、数据窃取等众多安全事件越来越多的出现在各个领域。
对于扫描器来言,端口扫描技术是扫描的关键。端口扫描技术是通过扫描器第一数据包来探测目标设备的目标端口是否开放的策略或者方法,通过端口扫描技术可以探测出目标设备对外开放的端口,以此能够判断目标设备所提供的服务。
具体来说,端口扫描是通过扫描器调用端口扫描插件基于传输控制协议/网络协议(TCP/IP协议)尝试建立连接,并以此识别目标设备的目标端口状态。目前,根据建立连接的方式可以分为全连接扫描(TCP connect)和半连接扫描(TCP SYN)。
全连接扫描包括传输控制协议TCP的三次握手过程,扫描器通过向目标网络的端口发送的请求数据包,根据反馈数据包中的标志位来判断端口是否开放,其扫描是进行一次完整的连接过程。当扫描的目标设备较多的情况下,扫描器的扫描速度将受到很大的限制。
半连接扫描是通过扫描器向目标设备的目标端口发送包含同步序列编号(SYN)的请求数据包,扫描器在收到包含同步序列编号(SYN)和确认编号(ACK)的反馈数据包,则认为目标设备的目标端口开放;若收到包含复位标志(RST)的反馈数据包或者未收到反馈数据包,则认为端口关闭。当扫描器收到包含同步序列编号(SYN)和确认编号(ACK)的反馈数据包后发送包含复位标识为的数据包,这样三次握手就没有完成,没有建立正常的连接。半连接扫描不占用目标设备资源,且不易暴露自身IP地址,较为隐蔽,但是这种扫描方式对扫描器的处理器、内存以及网络带宽等配置要求较高。而且,扫描器调用端口扫描插件时使用TCP/IP协议栈,同一时刻能保持的TCP连接数量受到了限制,漏洞扫描需要对很多个目标进行探测,很快就会导致连接数量达到上限,当连接数目受限时,扫描速度便受到了极大的影响。
因此,无论是全连接扫描,还是半连接扫描均存在扫描数据较慢的技术问题。
发明内容
本申请实施例的目的在于提供一种信息处理方法及电子设备,使得端口扫描速度较快。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:
一种信息处理方法,包括:
获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号;
从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包;
将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接;
从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包;
在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
在一些实施例中,所述利用所述第一线程随机获取所述任务信息,包括:
基于所述任务信息集创建链表,其中,所述链表包括多个存储单元,每个所述存储单元存储有一个所述任务信息;
利用所述第一线程随机获取用于标识所述存储单元的标识信息,基于所述标识信息从所述链表中相应的所述存储单元中获取所述任务信息。
在一些实施例中,所述在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,包括:
对所述第二数据包进行解析以获取第一数据集;
基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述第一数据集至少包括第二源地址和第二源端口号;所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,包括:
确定所述第二源地址与所述第一目标地址是否相匹配,在所述第二源地址与所述第一目标地址相匹配的情况下,确定所述第二源端口号与所述第一目标端口号是否相匹配;
在所述第二源端口号与所述第一目标端口号相匹配的情况下,确定所述第一数据集是否包括第二同步标志位和确认字符;
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,确定所述目标设备的目标端口处于开放状态,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述基于获取的任务信息创建第一数据包,包括:
基于第一源地址、第一源端口号、第一同步标志位、第一序列号,以及所述第一目标地址和所述第一目标端口号创建所述第一数据包,其中,所述第一序列号基于所述第一源地址、所述第一源端口号、所述第一同步标志位、第一随机值、所述第一目标地址和所述第一目标端口号经由预设函数运算而生成。
在一些实施例中,所述第一数据集包括所述第二源地址、所述第二源端口号、第二目标地址、第二目标端口号、第二序列号;所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,还包括:
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,基于所述第二源地址、所述第二源端口号、所述第二目标地址、所述第二目标端口号和所述第一随机值经由预设函数运算生成第三序列号;
在所述第二序列号和所述第三序列号相匹配的情况下,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述方法还包括:
响应于所述任务信息集的获取操作,构建所述第一线程池、所述第二线程池和所述任务队列,其中,所述第一线程池包括多个所述第一线程,所述第二线程池包括多个所述第二线程。
在一些实施例中,所述从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包,包括:
响应于所述第一数据包的发送操作,从所述第二线程池调取所述第二线程对所述目标设备的目标端口的反馈操作进行监听;
通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包。
在一些实施例中,所述方法还包括:
调取存储的所述扫描信息,基于所述扫描信息获取设备信息,其中,所述设备信息用于标识所述目标设备所提供的服务,以及所述目标设备所采用的操作系统;
将所述设备信息和所述扫描信息与预设漏洞规则库进行匹配,在所述设备信息和所述扫描信息与所述预设漏洞规则库中至少一条漏洞规则相匹配的情况下,确定所述目标设备存在漏洞,生成提示信息。
一种电子设备,包括:
获取模块,用于获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号;
第一调取模块,用于从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包;
发送模块,用于将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接;
第二调取模块,用于从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包;
识别模块,用于在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
本申请实施例的信息处理方法,预先构建有第一线程池、第二线程池和任务队列,从第一线程池调用第一线程来构建第一数据包,将第一数据包添加到任务队列中进行发送,从第二线程池调用第二线程来执行第二数据包的接收操作,并以此判断目标设备的目标端口是否处于开放状态,在目标设备的目标端口处于开放状态的情况下,生成并存储扫描信息以供调用。由于省却了创建和销毁线程的操作,而且能够实现第一数据包的创建操作、第一数据包的发送操作以及第二数据包的接收操作的异步并行处理,所以,能够节省操作步骤,减少操作时间,减少对系统资源的占用,提高扫描速度。
附图说明
图1为本申请实施例的信息处理方法的流程图;
图2为本申请实施例的信息处理方法中步骤S2的流程图;
图3为本申请实施例的信息处理方法的步骤S5的流程图;
图4为本申请实施例的信息处理方法的一个具体实施例的流程图;
图5为本申请实施例的电子设备的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供了一种信息处理方法,应用于例如扫描器等电子设备,用于对目标设备的目标端口进行扫描,以检测目标设备的目标端口是否处于开放状态,占用的系统资源较少,端口扫描速度较快。
图1为本申请实施例的信息处理方法的流程图,参见图1所示,本申请实施例的信息处理方法具体包括如下步骤:
S1,获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号。
该任务信息集中可包括多个任务信息,每个任务信息可包括目标设备的第一目标地址,以及该目标设备的一个目标端口的第一目标端口号,该任务信息集可以采用例如电子表格等多种数据结构,此处不对其数据结构进行限定。在具体实施时,可由扫描器的引擎从数据库中调取该任务信息集,并由扫描器的驱动程序从扫描器的引擎处获取该任务信息集。
S2,从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包。
该第一线程池可由扫描器的驱动程序预先构建形成。例如,驱动程序可响应于任务信息集的获取操作,构建第一线程池、第二线程池和任务队列,其中,第一线程池可包括多个第一线程,第一线程用于向外发送数据;第二线程池可包括多个第二线程,第二线程用于从外部接收数据。通过预先构建第一线程池和第二线程池,在需要发送数据或接收数据时,从相应的线程池调用线程,在数据发送完成或数据接收完成后,将相应的线程调回相应的线程池以备复用,节省了创建线程和销毁线程的时间,也减少了对系统资源的占用,提高数据发送和接收速度。
在实际应用时,驱动程序可在获取到任务信息集时,构建第一线程池、第二线程池和任务队列;从第一线程池中的调用第一线程,利用第一线程随机获取任务信息,即随机获取目标设备的第一目标地址和第一目标端口号,这样可实现扫描目标设备和目标端口的随机化扫描,避免因连续扫描同一设备的多个端口而触发该设备的入侵检测系统(IDS);之后,基于第一目标地址和第一端口号创建第一数据包。以欲构建的符合传输控制协议(TCP)的连接为例,在具体实施时,可基于第一源地址、第一源端口号、第一同步标志位(SYN)、第一序列号(SEQ),以及所述第一目标地址和所述第一目标端口号创建符合TCP协议的第一数据包。
S3,将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接。
任务队列可包括多个任务项,第一线程构建完成第一数据包,将第一数据包添加到任务队列中,并将任务队列中的第一数据包发送给目标设备的目标端口,请求与目标设备的目标端口建立连接,以期验证该目标设备的目标端口是否处于开放状态。将第一数据包添加到任务队列发送,能够实现第一数据包的创建操作和发送操作的异步并发处理,能够进一步降低对系统资源的占用。
S4,从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收目标设备的目标端口反馈的第二数据包;
在具体实施时,驱动程序可响应于第一数据包的发送操作,从所述第二线程池调取所述第二线程对所述目标设备的目标端口的反馈操作进行监听,并通过第二线程接收目标设备的目标端口反馈的第二数据包,以实现数据发送和数据接收的连贯进行。通过同一线程既发送数据又接收数据,则该线程在完成发送数据操作后,仍需监听数据反馈操作,直至接收到相应的反馈数据为止,系统资源一致处理占用状态,导致系统资源的占用率较高,而且容易导致扫描器停止于等待反馈状态无法继续执行扫描操作。分别通过第一线程和第二线程执行数据发送操作和数据接收操作,实现了数据发送和数据接收的异步处理,避免了同一线程既发送数据又接收数据导致系统资源一致处理占用状态的问题,也避免了在目标设备的目标端口不反馈数据包的情况下,导致扫描器停滞于等待反馈状态而无法继续执行扫描操作。
S5,在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
可解析该第二数据包以获取第一数据集;可基于该第一数据集对目标设备的目标端口的状态进行校验,如果目标设备的目标端口处于开放状态,则基于该第一数据集生成扫描信息,并存储该扫描信息,以供调用进行例如漏洞检查等操作;如果目标端口处于未开放状态,则该目标端口不提供服务,也不存在漏洞风险,可丢弃该第二数据包。
以第一数据包符合TCP协议为例,可校验第一数据集是否具有同步标志位(SYN)和确认字符(ACK),如果第一数据集中包括SYN标志位和ACK字符,则可确定目标设备的目标端口处于开放状态,如果第一数据集中无SYN标志位和ACK字符,或者第一数据集中包括复位标志(RST)则可确定目标设备的目标端口未开放。
在一个优选实施例中,在解析第二数据包之前,可首先校验接收的第二数据包是否符合传输控制协议(TCP),以初步确认该第二数据包是否是针对作为连接请求的第一数据包的反馈信息,如果不符合TCP协议,则丢弃该第二数据包,如果符合TCP协议,则解析该第二数据包,如此可减少无效的数据包解析操作。
本申请实施例的信息处理方法,预先构建有第一线程池、第二线程池和任务队列,从第一线程池调用第一线程来构建第一数据包,将第一数据包添加到任务队列中进行发送,从第二线程池调用第二线程来执行第二数据包的接收操作,并以此判断目标设备的目标端口是否处于开放状态,在目标设备的目标端口处于开放状态的情况下,生成并存储扫描信息以供调用。由于省却了创建和销毁线程的操作,而且能够实现第一数据包的创建操作、第一数据包的发送操作以及第二数据包的接收操作的异步并行处理,所以,能够节省操作步骤,减少操作时间,减少对系统资源的占用,提高扫描速度。
配合图2所示,在一些实施例中,所述利用所述第一线程随机获取所述任务信息,包括:
S21,基于所述任务信息集创建链表,其中,所述链表包括多个存储单元,每个所述存储单元存储有一个所述任务信息。
以获取的任务信息集中包括N个目标设备,每个目标设备包括M个需要扫描的目标端口为例,则该任务信息集中共有N×M条任务信息,在具体实施时,创建一个包括N×M个存储单元的链表,第一线程将任务信息逐条存储在链表中各个存储单元中。
S22,利用所述第一线程随机获取用于标识所述存储单元的标识信息,基于所述标识信息从所述链表中相应的所述存储单元中获取所述任务信息。
以利用1至N×M之间的整数作为标识信息来标识存储单元为例,第一线程可通过例如随机数生成器在[1,N×M]范围内随机生成整数作为标识信息,并基于随机生成的整数从链表中相应的存储单元获取任务信息。
通过随机从链表中获取目标设备的第一目标地址和第一目标端口号,能够实现扫描对象的随机化,且随机化效果较好,能够较好的避免因连续扫描同一设备的多个端口而出发设备的入侵检测系统。
配合图3所示,在一些实施例中,该第一数据集至少包括目标设备的第二源地址和第二源端口号;所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,包括:
确定第二源地址与第一目标地址是否相匹配,以确定该第二数据包是否为目标设备的目标端口反馈的数据包。如果第二源地址与第一目标地址不匹配,则表明该第二数据包并非目标设备反馈的数据包,无必要对第一数据集中的其他数据进行处理,可将该第一数据包丢弃。如果第二源地址与第一目标地址相匹配,则表明该第二数据包确为目标设备反馈的数据,可进一步确定第二源端口号与第一目标端口号是否相匹配,以期验证该第二数据包是否为目标设备的目标端口反馈的数据。如果第二源端口号与第一目标端口号不匹配,则表明该第二数据包虽为目标设备反馈,但并非目标端口反馈,属于无效数据,无必要对第一数据集中其他数据进行处理,可将第一数据包丢弃。如果第二源端口号与第一目标端口号相匹配,则表明该第二数据包确为目标设备的目标端口反馈的数据包,可进一步确定第一数据集是否包括第二同步标志位(SYN)和确认字符(ACK),如果第一数据集中无第二同步标志位(SYN)和确认字符(ACK),或者第一数据集中包括复位标志(RST),则表明目标设备的目标端口未开放,不开放的端口无法提供服务,也不可能存在漏洞,所以,此时第二数据包仍未无效数据,可丢弃。如果第一数据集包括第二同步标志位和确认字符,则可确定目标设备的目标端口处于开放状态,可基于所述第一数据集生成所述扫描信息。通过这样的校验过程可以减少扫描器的数据处理量。
在具体实施时,当第一数据集中包括第二同步标志位(SYN)和确认字符(ACK)的情况下,还可向目标设备的目标端口发送第三数据包,该第三数据包中包含复位标志(RST),以结束连接构建过程。如此,无需真正的与目标设备构建连接,无需占用目标设备的系统资源。
在一些实施例中,所述第一序列号可为基于所述第一源地址、所述第一源端口号、所述第一同步标志位、第一随机值、所述第一目标地址和所述第一目标端口号经由预设函数运算而生成。其中,预设函数可为例如散列函数。基于上述参数经由散列函数生成的第一序列号具有较强的可验证性。按照传输控制协议(TCP)的规定,针对第一数据包反馈的第二数据包中应该也包含一个与第一序列号相匹配的第二序列号,也即,第一数据集至少包括所述第二源地址、所述第二源端口号、第二目标地址、第二目标端口号、第二序列号。
在此基础上,步骤S5,所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,还可包括:
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,基于所述第二源地址、所述第二源端口号、所述第二目标地址、所述第二目标端口号和所述第一随机值经由预设函数运算生成第三序列号;
在所述第二序列号和所述第三序列号相匹配的情况下,基于所述第一数据集生成所述扫描信息。
也即,当第一数据包包括第二同步标志位和确认字符,并以此确定目标设备的目标端口处于开放状态时,并不直接基于第一数据集生成扫描信息,而是进一步基于第二源地址、第二源端口号、第二目标地址、第二目标端口号、第一随机值经由预设函数运算生成第三序列号。由于在前述步骤中已经验证过,第二源地址与第一目标地址相匹配,第二源端口号与第一目标端口号相匹配。由于扫描器的第二线程已经接受到该第二数据包,该第二目标地址和第二目标端口号一定是指向扫描器的特定端口,所以,该第二目标地址一定与第一源地址相匹配,第二目标端口号一定与第一源端口号相匹配。在此基础上,理论上如果第二数据包中的数据完整,则第三序列号应该与第二序列号相匹配。所以,通过确定第二序列号和第三序列号是否相匹配,可校验第二数据包的数据是否完整,如果第二序列号和第三序列号相匹配,则表明第二数据包的数据完整,在传输过程中未损坏,可基于该第一数据集生成扫描信息。如果第二序列号和第三序列号不匹配,则表明第二数据包的数据损坏,此时,如果基于第一数据集生成扫描信息也可能是不正确的,可丢弃该第一数据集和第二数据包。
配合图4所示,在一些实施例中,所述方法还包括:
S6,调取存储的所述扫描信息,基于所述扫描信息获取设备信息,其中,所述设备信息用于标识所述目标设备所提供的服务,以及所述目标设备所采用的操作系统。
S7,将所述设备信息和所述扫描信息与预设漏洞规则库进行匹配,在所述设备信息和所述扫描信息与所述预设漏洞规则库中至少一条漏洞规则相匹配的情况下,确定所述目标设备存在漏洞,生成提示信息。
在具体实施时,可从扫描器的引擎调取信息获取插件,并调取存储的扫描信息,通过该信息获取插件利用扫描信息获取设备信息,该设备信息可包括服务信息和系统类型信息,服务信息用于标识目标设备所提供的服务,系统类型信息用于标识目标设备所采用的操作系统。在获取到设备信息的情况下,也可将设备信息与扫描信息一并存储,以供调用。
预设漏洞规则库中可预设有众多漏洞规则和与漏洞规则相关联的漏洞,命中漏洞规则,则表明设备存在相应的漏洞。将设备信息和扫描信息与预设漏洞规则库进行匹配,如果设备信息和扫描信息命中至少一条漏洞规则,则表明目标设备存在漏洞,此时,可生成提示信息,以提示目标设备存在漏洞。通过设备信息获取和漏洞规则库匹配,能够实现漏洞识别的目的。
参见图5所示,本申请实施例还提供了一种电子设备,其包括:
获取模块101,用于获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号;
第一调取模块102,用于从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包;
发送模块103,用于将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接;
第二调取模块104,用于从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包;
识别模块105,用于在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
在一些实施例中,所述第一调取模块102具体用于:
基于所述任务信息集创建链表,其中,所述链表包括多个存储单元,每个所述存储单元存储有一个所述任务信息;
利用所述第一线程随机获取用于标识所述存储单元的标识信息,基于所述标识信息从所述链表中相应的所述存储单元中获取所述任务信息。
在一些实施例中,所述识别模块105具体用于:
对所述第二数据包进行解析以获取第一数据集;
基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述第一数据集至少包括第二源地址和第二源端口号;所述识别模块105具体用于:
确定所述第二源地址与所述第一目标地址是否相匹配,在所述第二源地址与所述第一目标地址相匹配的情况下,确定所述第二源端口号与所述第一目标端口号是否相匹配;
在所述第二源端口号与所述第一目标端口号相匹配的情况下,确定所述第一数据集是否包括第二同步标志位和确认字符;
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,确定所述目标设备的目标端口处于开放状态,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述第一调取模块102具体用于:
基于第一源地址、第一源端口号、第一同步标志位、第一序列号,以及所述第一目标地址和所述第一目标端口号创建所述第一数据包,其中,所述第一序列号基于所述第一源地址、所述第一源端口号、所述第一同步标志位、第一随机值、所述第一目标地址和所述第一目标端口号经由预设函数运算而生成。
在一些实施例中,所述第一数据集包括所述第二源地址、所述第二源端口号、第二目标地址、第二目标端口号、第二序列号;所述识别模块105还用于:
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,基于所述第二源地址、所述第二源端口号、所述第二目标地址、所述第二目标端口号和所述第一随机值经由预设函数运算生成第三序列号;
在所述第二序列号和所述第三序列号相匹配的情况下,基于所述第一数据集生成所述扫描信息。
在一些实施例中,所述电子设备还包括:
构建模块,用于响应于所述任务信息集的获取操作,构建所述第一线程池、所述第二线程池和所述任务队列,其中,所述第一线程池包括多个所述第一线程,所述第二线程池包括多个所述第二线程。
在一些实施例中,所述第二调取模块103具体用于:
响应于所述第一数据包的发送操作,从所述第二线程池调取所述第二线程对所述目标设备的目标端口的反馈操作进行监听;
通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包。
在一些实施例中,所述电子设备还包括:
第三调取模块,用于调取存储的所述扫描信息,基于所述扫描信息获取设备信息,其中,所述设备信息用于标识所述目标设备所提供的服务,以及所述目标设备所采用的操作系统;
匹配模块,用于将所述设备信息和所述扫描信息与预设漏洞规则库进行匹配,在所述设备信息和所述扫描信息与所述预设漏洞规则库中至少一条漏洞规则相匹配的情况下,确定所述目标设备存在漏洞,生成提示信息。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种信息处理方法,其特征在于,包括:
获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号;
从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包;
将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接;
从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包;
在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
2.根据权利要求1所述的信息处理方法,其特征在于,所述利用所述第一线程随机获取所述任务信息,包括:
基于所述任务信息集创建链表,其中,所述链表包括多个存储单元,每个所述存储单元存储有一个所述任务信息;
利用所述第一线程随机获取用于标识所述存储单元的标识信息,基于所述标识信息从所述链表中相应的所述存储单元中获取所述任务信息。
3.根据权利要求1所述的信息处理方法,其特征在于,所述在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,包括:
对所述第二数据包进行解析以获取第一数据集;
基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息。
4.根据权利要求3所述的信息处理方法,其特征在于,所述第一数据集至少包括第二源地址和第二源端口号;所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,包括:
确定所述第二源地址与所述第一目标地址是否相匹配,在所述第二源地址与所述第一目标地址相匹配的情况下,确定所述第二源端口号与所述第一目标端口号是否相匹配;
在所述第二源端口号与所述第一目标端口号相匹配的情况下,确定所述第一数据集是否包括第二同步标志位和确认字符;
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,确定所述目标设备的目标端口处于开放状态,基于所述第一数据集生成所述扫描信息。
5.根据权利要求4所述的信息处理方法,其特征在于,所述基于获取的任务信息创建第一数据包,包括:
基于第一源地址、第一源端口号、第一同步标志位、第一序列号,以及所述第一目标地址和所述第一目标端口号创建所述第一数据包,其中,所述第一序列号基于所述第一源地址、所述第一源端口号、所述第一同步标志位、第一随机值、所述第一目标地址和所述第一目标端口号经由预设函数运算而生成。
6.根据权利要求5所述的信息处理方法,其特征在于,所述第一数据集包括所述第二源地址、所述第二源端口号、第二目标地址、第二目标端口号、第二序列号;所述基于所述第一数据集对所述目标设备的目标端口的状态进行校验,在确定所述目标设备的目标端口处于开放状态的情况下,基于所述第一数据集生成所述扫描信息,还包括:
在所述第一数据集包括所述第二同步标志位和所述确认字符的情况下,基于所述第二源地址、所述第二源端口号、所述第二目标地址、所述第二目标端口号和所述第一随机值经由预设函数运算生成第三序列号;
在所述第二序列号和所述第三序列号相匹配的情况下,基于所述第一数据集生成所述扫描信息。
7.根据权利要求1所述的信息处理方法,其特征在于,所述方法还包括:
响应于所述任务信息集的获取操作,构建所述第一线程池、所述第二线程池和所述任务队列,其中,所述第一线程池包括多个所述第一线程,所述第二线程池包括多个所述第二线程。
8.根据权利要求1所述的信息处理方法,其特征在于,所述从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包,包括:
响应于所述第一数据包的发送操作,从所述第二线程池调取所述第二线程对所述目标设备的目标端口的反馈操作进行监听;
通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包。
9.根据权利要求1所述的信息处理方法,其特征在于,所述方法还包括:
调取存储的所述扫描信息,基于所述扫描信息获取设备信息,其中,所述设备信息用于标识所述目标设备所提供的服务,以及所述目标设备所采用的操作系统;
将所述设备信息和所述扫描信息与预设漏洞规则库进行匹配,在所述设备信息和所述扫描信息与所述预设漏洞规则库中至少一条漏洞规则相匹配的情况下,确定所述目标设备存在漏洞,生成提示信息。
10.一种电子设备,其特征在于,包括:
获取模块,用于获取任务信息集,其中,所述任务信息集中的任务信息包括目标设备的第一目标地址和第一目标端口号;
第一调取模块,用于从预先构建的第一线程池调取用于发送数据的第一线程,利用所述第一线程随机获取所述任务信息,基于获取的任务信息创建第一数据包;
发送模块,用于将所述第一数据包添加到预先构建的任务队列中,通过所述任务队列向所述目标设备的目标端口发送所述第一数据包,以请求建立连接;
第二调取模块,用于从预先构建的第二线程池调取用于接收数据的第二线程,通过所述第二线程接收所述目标设备的目标端口反馈的第二数据包;
识别模块,用于在基于所述第二数据包确定所述目标设备的目标端口处于开放状态的情况下,基于所述第二数据包生成用于标识所述目标端口状态的扫描信息,存储所述扫描信息以供调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489673.XA CN112596874B (zh) | 2020-12-16 | 2020-12-16 | 一种信息处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489673.XA CN112596874B (zh) | 2020-12-16 | 2020-12-16 | 一种信息处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596874A CN112596874A (zh) | 2021-04-02 |
CN112596874B true CN112596874B (zh) | 2023-07-07 |
Family
ID=75196614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011489673.XA Active CN112596874B (zh) | 2020-12-16 | 2020-12-16 | 一种信息处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596874B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007138A (zh) * | 2021-11-01 | 2022-02-01 | 南京淡兰消防科技有限公司 | 通过rtsp视频流转flv格式实现h5网页端以video控件播放的方法 |
CN114760232A (zh) * | 2022-04-14 | 2022-07-15 | 和中通信科技有限公司 | 一种快速主机开放tcp端口识别的方法 |
CN114760231A (zh) * | 2022-04-14 | 2022-07-15 | 和中通信科技有限公司 | 一种快速大规模主机在线识别的方法 |
CN115442259A (zh) * | 2022-08-30 | 2022-12-06 | 奇安信网神信息技术(北京)股份有限公司 | 系统识别方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592302A (zh) * | 2017-08-23 | 2018-01-16 | 北京国信云服科技有限公司 | 一种移动端的端口扫描器及方法 |
CN107786556A (zh) * | 2017-10-24 | 2018-03-09 | 江苏神州信源系统工程有限公司 | 一种端口快速扫描方法与装置 |
EP3319287A1 (en) * | 2016-11-04 | 2018-05-09 | Nagravision SA | Port scanning |
CN110380935A (zh) * | 2019-07-23 | 2019-10-25 | 杭州数梦工场科技有限公司 | 端口扫描方法与装置 |
CN110569123A (zh) * | 2019-07-31 | 2019-12-13 | 苏宁云计算有限公司 | 线程分配方法、装置、计算机设备和存储介质 |
CN111385260A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 一种端口探测方法、系统、服务器和存储介质 |
CN111898898A (zh) * | 2020-07-25 | 2020-11-06 | 江苏锐创软件技术有限公司 | 风险设备定位监控方法、装置、系统及存储介质 |
-
2020
- 2020-12-16 CN CN202011489673.XA patent/CN112596874B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3319287A1 (en) * | 2016-11-04 | 2018-05-09 | Nagravision SA | Port scanning |
CN107592302A (zh) * | 2017-08-23 | 2018-01-16 | 北京国信云服科技有限公司 | 一种移动端的端口扫描器及方法 |
CN107786556A (zh) * | 2017-10-24 | 2018-03-09 | 江苏神州信源系统工程有限公司 | 一种端口快速扫描方法与装置 |
CN111385260A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 一种端口探测方法、系统、服务器和存储介质 |
CN110380935A (zh) * | 2019-07-23 | 2019-10-25 | 杭州数梦工场科技有限公司 | 端口扫描方法与装置 |
CN110569123A (zh) * | 2019-07-31 | 2019-12-13 | 苏宁云计算有限公司 | 线程分配方法、装置、计算机设备和存储介质 |
CN111898898A (zh) * | 2020-07-25 | 2020-11-06 | 江苏锐创软件技术有限公司 | 风险设备定位监控方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112596874A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112596874B (zh) | 一种信息处理方法及电子设备 | |
AU673393B2 (en) | Method and apparatus for authentication of client server communication | |
CN100474851C (zh) | 对等网络名字解析协议的安全基础结构和方法 | |
CN107483419B (zh) | 服务器认证接入终端的方法、装置、系统、服务器及计算机可读存储介质 | |
US8990573B2 (en) | System and method for using variable security tag location in network communications | |
CN109981653B (zh) | 一种web漏洞扫描方法 | |
CN111885050B (zh) | 基于区块链网络的数据存储方法、装置、相关设备及介质 | |
CN103001770A (zh) | 一种用户验证方法、服务器及系统 | |
CN110943840A (zh) | 一种签名验证方法及系统 | |
CN113301028B (zh) | 网关防护方法和数据打标签方法 | |
CN113507483A (zh) | 即时通讯方法、装置、服务器及存储介质 | |
CN1433243A (zh) | 移动通信终端及数据传输方法 | |
CN109818912A (zh) | 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 | |
JP2005309974A (ja) | ネットワーク装置、ネットワーク装置を用いた認証方法、認証プログラム、および記録媒体 | |
CN116418602B (zh) | 一种基于可信硬件的元数据保护匿名通信方法及系统 | |
CN113660328B (zh) | 通信连接的建立方法及装置、存储介质及电子设备 | |
CN117111489B (zh) | 一种plc设备的仿真方法、存储介质和电子设备 | |
CN113067814B (zh) | 一种服务器与物联网终端的连接管控方法及装置 | |
CN113922953B (zh) | 一种数据处理方法及装置 | |
CN115473731B (zh) | 一种混淆http网络协议接口地址的方法 | |
Chien et al. | An integrated user authentication and access control scheme without public key cryptography | |
EP1746798A1 (en) | A personal token for reliable GBA-U authentication | |
CN117938423A (zh) | 一种适应性身份鉴别系统及方法 | |
CN113923031A (zh) | 一种数据传输的方法、装置、设备和存储介质 | |
CN110011972A (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 |