CN116346382A - 一种阻断恶意tcp连接的方法、装置及电子设备 - Google Patents

一种阻断恶意tcp连接的方法、装置及电子设备 Download PDF

Info

Publication number
CN116346382A
CN116346382A CN202111602829.5A CN202111602829A CN116346382A CN 116346382 A CN116346382 A CN 116346382A CN 202111602829 A CN202111602829 A CN 202111602829A CN 116346382 A CN116346382 A CN 116346382A
Authority
CN
China
Prior art keywords
current
address
malicious
tcp
blocking message
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.)
Pending
Application number
CN202111602829.5A
Other languages
English (en)
Inventor
孙彦辉
赵林林
童兆丰
薛锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ThreatBook Technology Co Ltd
Original Assignee
Beijing ThreatBook Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ThreatBook Technology Co Ltd filed Critical Beijing ThreatBook Technology Co Ltd
Priority to CN202111602829.5A priority Critical patent/CN116346382A/zh
Publication of CN116346382A publication Critical patent/CN116346382A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种阻断恶意TCP连接的方法、装置及电子设备,其中,该方法包括:获取当前TCP流量;根据当前TCP流量的当前IP地址,确定当前哈希桶;若当前哈希桶中存在与当前IP地址相同的恶意IP地址,确定当前TCP流量是恶意TCP流量;向目标端口发送用于阻断TCP连接的当前阻断报文。通过本发明实施例提供的阻断恶意TCP连接的方法、装置及电子设备,在判断当前TCP流量是否为恶意TCP流量时,将原来需要匹配的五元组减少为一元组,即只需要匹配IP地址,从而能够减少所需匹配的信息;并将当前IP地址同时与多个恶意IP地址进行比较,不仅识别速度快,准确度也较高,能及时阻断恶意TCP连接,大大提高网络安全处理的效率。

Description

一种阻断恶意TCP连接的方法、装置及电子设备
技术领域
本发明涉及网络安全保护技术领域,具体而言,涉及一种阻断恶意TCP连接的方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网的飞速发展,网络上出现了大量的恶意TCP(Transmission ControlProtocol,传输控制协议)连接,例如一些携带攻击负载的连接或者一些非授权访问的连接,该恶意TCP连接利用所发送的恶意TCP流量对收到流量的接收端进行攻击。因此,对于以旁路方式监听网络流量的安全设备而言,阻断这些恶意TCP连接是非常重要的。
目前,当接收端获取到恶意TCP流量时,通常采用向发送该恶意TCP流量的发送端发送RST(Reset the connection,重新连接)报文的方法,以实现对TCP连接进行阻断。但现有技术识别恶意TCP流量速度慢,导致不能及时生成RST报文进而及时阻断恶意TCP连接。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种阻断恶意TCP连接的方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例提供了一种阻断恶意TCP连接的方法,包括:获取当前TCP流量;根据所述当前TCP流量的当前IP地址,确定所述当前IP地址对应的当前哈希桶,所述当前哈希桶包括至少一个用于保存多个恶意IP地址的节点;令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较,若所述当前哈希桶中存在与所述当前IP地址相同的恶意IP地址,确定所述当前TCP流量是恶意TCP流量;向目标端口发送用于阻断TCP连接的当前阻断报文,所述目标端口包括与所述当前TCP流量相关的端口。
可选地,在所述获取当前TCP流量之前,该方法还包括:为至少一个处理器分配收包内存;以及建立所述处理器与所述网卡的至少一个收包队列之间的映射关系,并在所述处理器所分配的所述收包内存中为所述处理器映射的每个所述收包队列设置收包地址,所述收包地址用于存储所述网卡中相应的所述收包队列所收到的TCP流量;所述获取当前TCP流量,包括:将所述网卡的一个收包队列收到的当前TCP流量储存于所述收包内存中相应的收包地址;基于与收到所述当前TCP流量的收包队列具有映射关系的所述处理器读取存有所述当前TCP流量的收包地址,获取到所述当前TCP流量。
可选地,在所述确定所述当前IP地址对应的当前哈希桶之前,该方法还包括:预设多个带有索引标识的哈希桶;为每个所述哈希桶设置包含至少一个节点的链表,每个所述节点包括多个数据格和一个链表指针,每个所述数据格用于存储一个恶意IP地址,所述链表指针用于指向下一个节点;在需要将恶意的待存储IP地址存储至哈希桶的情况下,基于哈希算法计算所述待存储IP地址的索引标识,并根据所述待存储IP地址的索引标识将所述待存储IP地址插入至对应的哈希桶中的当前节点未存有恶意IP地址的首个数据格中;若所述当前节点里的所有数据格均存有恶意IP地址,将所述待存储IP地址插入至所述当前节点的链表指针所指向的下一个节点的首个数据格中。
可选地,令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较包括:对所述当前IP地址进行复制扩展,生成与所述当前哈希桶中一个所述节点长度相同的当前序列,所述当前序列中的每个元素均为所述当前IP地址,且与所述当前哈希桶中一个所述节点的多个数据格与链表指针分别对应;同时将所述当前序列中的每个元素分别与所述当前哈希桶中一个所述节点里的多个恶意IP地址比较。
可选地,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,该方法还包括:预设用于生成阻断报文的模板,所述模板包括物理地址和能够动态更新的属性信息,所述属性信息包括源IP、目的IP、源端口、目的端口、序列号中的至少一种;根据所述模板生成向目标端口发送的用于阻断TCP连接的当前阻断报文。
可选地,根据所述模板生成向目标端口发送的用于阻断TCP连接的阻断报文包括:在当前为第1次生成阻断报文的情况下,在所述模板的基础上,填入所述当前TCP流量的属性信息,得到所述当前阻断报文,并计算所述当前阻断报文的校验和;在当前为第i次生成阻断报文且i大于1的情况下,在第i-1次生成的阻断报文的基础上,将第i-1次生成的阻断报文中与所述当前TCP流量的属性信息不同的属性信息替换为所述当前TCP流量的属性信息,得到所述当前阻断报文,并根据第i-1次生成的阻断报文的属性信息与所述当前TCP流量的属性信息之间的差异计算所述当前阻断报文的校验和。
可选地,根据第i-1次生成的阻断报文的属性信息与所述当前TCP流量的属性信息之间的差异计算所述第i次阻断报文的校验和,包括:将所述第i-1次生成的阻断报文中被替换的属性信息进行二进制反码处理,得到第一反码;将所述当前阻断报文中与所述第i-1次生成的阻断报文中不同的属性信息也进行二进制反码处理,得到第二反码;令所述第二反码减去所述第一反码,得到变化反码;令所述变化反码与所述第i-1次生成的阻断报文的校验和相加,得到所述当前阻断报文的校验和。
可选地,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,该方法还包括:为至少一个处理器分配发包内存;以及建立所述处理器与所述网卡的至少一个发包队列之间的映射关系,并在所述处理器所分配的所述发包内存中为所述处理器映射的每个所述发包队列设置发包地址,所述发包地址用于存储所述网卡中相应的所述发包队列所发送的TCP流量;所述向目标端口发送用于阻断TCP连接的当前阻断报文,包括:将所述当前阻断报文储存于所述发包内存中相应的发包地址;基于网卡读取存有所述当前阻断报文的发包地址,将读取到的所述当前阻断报文写入相应的发包队列,并向目标端口发送用于阻断TCP连接的当前阻断报文。
第二方面,本发明实施例提供了一种阻断恶意TCP连接的装置,包括:获取模块、确定模块、比较模块以及发送模块。
获取模块用于获取当前TCP流量。
确定模块用于根据所述当前TCP流量的当前IP地址,确定所述当前IP地址对应的当前哈希桶,所述当前哈希桶包括至少一个用于保存多个恶意IP地址的节点。
比较模块用于令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较,若所述当前哈希桶中存在与所述当前IP地址相同的恶意IP地址,确定所述当前TCP流量是恶意TCP流量。
发送模块用于向目标端口发送用于阻断TCP连接的当前阻断报文,所述目标端口包括与所述当前TCP流量相关的端口。
第三方面,本发明实施例提供了一种电子设备,包括:总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上所述的阻断恶意TCP连接的方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:可读存储介质上存储的计算机程序;所述计算机程序被处理器执行时实现如上所述的阻断恶意TCP连接的方法中的步骤。
本发明实施例提供的阻断恶意TCP连接的方法、装置、电子设备及计算机可读存储介质,在判断当前TCP流量是否为恶意TCP流量时,将原来需要匹配的五元组减少为一元组,即只需要匹配IP地址,从而能够减少所需匹配的信息;并将当前IP地址同时与多个恶意IP地址进行比较,能够快速确定该当前IP地址是否为恶意IP地址,进而确定该当前TCP流量是否为恶意TCP流量,并针对恶意TCP流量进行阻断。该方法不仅识别速度快,准确度也较高,能及时阻断恶意TCP连接,大大提高网络安全处理的效率。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种阻断恶意TCP连接的方法的流程图;
图2示出了本发明实施例所提供的阻断恶意TCP连接的方法中,“同时将当前序列中的每个元素分别与当前哈希桶中一个节点里的多个恶意IP地址比较”具体方法的流程图;
图3示出了本发明实施例所提供的阻断恶意TCP连接的方法的一种详细流程图;
图4示出了本发明实施例所提供的阻断恶意TCP连接的装置的结构示意图;
图5示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种阻断恶意TCP连接的方法的流程图。如图1所示,该方法包括以下步骤101-104。
步骤101:获取当前TCP流量。
其中,TCP(Transmission Control Protocol,传输控制协议)流量表示在TCP连接中所传输的流量,该TCP流量可以分为正常TCP流量和恶意TCP流量。当需要判断某个TCP流量是否为恶意TCP流量时,可以将所获取到的该TCP流量作为当前TCP流量。例如,可以通过处理器从内存中读取由网卡从外界所获取的当前TCP流量。
步骤102:根据当前TCP流量的当前IP地址,确定当前IP地址对应的当前哈希桶,当前哈希桶包括至少一个用于保存多个恶意IP地址的节点。
其中,哈希桶是基于哈希函数所衍生的一种容器,其所实现的功能是能够容纳一个或多个节点,且每个节点可以同时保存多个IP地址,进而使该哈希桶能够为多个IP地址提供存储空间。本发明实施例中,当前TCP流量的IP地址可以称为当前IP地址,该当前IP地址可以是该TCP流量的源IP地址也可以是目的IP地址;通过对该当前IP地址进行计算可以得到能够容纳该当前IP地址的当前哈希桶。该当前哈希桶中可以包括一个节点也可以包括多个节点,其中,每个节点均可以用来保存多个恶意IP地址,即所得到的当前哈希桶是能够同时保存多个恶意IP地址的容器。
例如,哈希桶A中包括一个节点,该节点中共保存了4个恶意IP地址,通过对该当前IP地址进行处理,能够确定该当前IP地址对应的哈希桶为该哈希桶A,即该当前IP地址所对应的当前哈希桶是哈希桶A。
步骤103:令当前IP地址同时与当前哈希桶中的一个节点里的每个恶意IP地址进行比较,若当前哈希桶中存在与当前IP地址相同的恶意IP地址,确定当前TCP流量是恶意TCP流量。
本发明实施例中,可以用当前IP地址与其所对应的当前哈希桶中的某个节点里的每个恶意IP地址分别且同时进行比较,通过比较能够确定该当前哈希桶中是否存在与该当前IP地址一致的恶意IP地址。具体的比较方法可以是令当前IP依次与当前哈希桶中所包含所有节点一一比较,若每个节点内均不存在与该当前IP地址一致的恶意IP地址,则可以确定该当前IP地址是正常IP地址,其所对应的当前TCP流量是正常TCP流量;若其中某个节点中存在与该当前IP地址一致的恶意IP地址,故可以确定该当前IP地址是恶意IP地址,其所对应的当前TCP流量是恶意TCP流量。
例如,当前IP地址为197.101.0.0,该当前IP地址所对应的当前哈希桶A中具有一个节点a,且该节点a中仅包含2个恶意IP地址,如165.195.130.107和197.101.0.0;用该当前IP地址同时与该节点a中的每一个恶意IP地址相比较,得到该节点a中所保存的第二个恶意IP地址与该当前IP地址相同,均为197.101.0.0,因此,可以确定该当前IP地址为恶意IP地址,该当前IP地址对应的当前TCP流量为恶意TCP流量。
步骤104:向目标端口发送用于阻断TCP连接的当前阻断报文,目标端口包括与当前TCP流量相关的端口。
其中,在确定当前TCP流量是恶意TCP流量后,可以确定传输该当前TCP流量的TCP连接也是恶意的,将传输该TCP流量的端口作为目标端口,向该目标端口发送用于阻断该TCP连接的阻断报文,即当前阻断报文,并基于该当前阻断报文,阻断传输当前TCP流量的TCP连接。例如,该当前阻断报文可以是RST(Reset the connection,重新连接)报文,由于该RST报文具有能够复位因某种原因引起出现的错误连接,以及能拒绝非法数据和请求的功能,当目的端口接收到该RST报文时,能够即时切断传输该恶意TCP流量的TCP链接。
本发明实施例在判断当前TCP流量是否为恶意TCP流量时,将原来需要匹配的五元组减少为一元组,即只需要匹配IP地址,从而能够减少所需匹配的信息;并将当前IP地址同时与多个恶意IP地址进行比较,能够快速确定该当前IP地址是否为恶意IP地址,进而确定该当前TCP流量是否为恶意TCP流量,并针对恶意TCP流量进行阻断。该方法不仅识别速度快,准确度也较高,能及时阻断恶意TCP连接,大大提高网络安全处理的效率。
可选地,在获取当前TCP流量之前,该方法还包括步骤A1-A2。
步骤A1:为至少一个处理器分配收包内存。
其中,执行该方法的设备(例如终端、服务器等)可以包括一个或多个处理器,该处理器指的可以是完整的CPU,也可以是CPU中的一个内核。本发明实施例中,可以为一个处理器分配收包内存,也可以为多个处理器分配收包内存,即该多个处理器共用一个收包内存。该收包内存可以是大页内存,如大小为2MB(MegaBytes,兆字节)或者1GB(GigaByte,千兆字节)的内存。例如,共有4个CPU内核(处理器),本发明实施例可以为这4个CPU内核分配一个收包内存,该收包内存是大小为1GB的大页内存,即这4个CPU内核共用一个收包内存。
步骤A2:建立处理器与网卡的至少一个收包队列之间的映射关系,并在处理器所分配的收包内存中为处理器映射的每个收包队列设置收包地址,收包地址用于存储网卡中相应的收包队列所收到的TCP流量。
其中,网卡可以包括多个收包队列,每个收包队列用于接收外界所传输的TCP流量。可以为处理器与网卡中的至少一个收包队列建立映射关系,也可以为处理器与网卡中的多个收包队列分别建立映射关系,即一个处理器可以仅对应网卡中的一个收包队列,也可以分别对应该网卡中的多个不同的收包队列。并且,可以为该处理器所对应的每个收包队列在该处理器所被分配到的收包内存中分别设置一一对应的收包地址,即一个收包队列对应一个收包地址,该收包地址能够存储该网卡中与之相对应的收包队列所收到的TCP流量,即当该网卡通过某个收包队列接收到某TCP流量时,可以将该TCP流量存入该收包队列对应的收包内存中所指定的收包地址里。
如上例所示,以一个CPU内核作为一个处理器,若共有4个处理器,分别是内核A、内核B、内核C以及内核D;该网卡共有4个收包队列,分别是收包队列A、收包队列B、收包队列C以及收包队列D;可以建立内核A与收包队列A之间的映射关系、内核B与收包队列B之间的映射关系、内核C与收包队列C之间的映射关系以及内核D与收包队列D之间的映射关系,使每个CPU内核(处理器)分别对应一个收包队列。并且,在这4个CPU内核(处理器)所分配到的、共用的收包内存中,为每一个收包队列设置一个收包地址,每一个收包地址均可存储其所对应的收包队列所接收到的TCP流量;即为收包队列A在该收包内存中设置对应的收包地址A,该收包地址A能够存储收包队列A所接收的TCP流量,为收包队列B在该收包内存中设置对应的收包地址B,该收包地址B能够存储收包队列B所接收的TCP流量,为收包队列C在该收包内存中设置对应的收包地址C,该收包地址C能够存储收包队列C所接收的TCP流量,以及为收包队列D在该收包内存中设置对应的收包地址D,该收包地址D能够存储收包队列D所接收的TCP流量。
并且,获取当前TCP流量包括以下步骤B1-B2。
步骤B1:将网卡的一个收包队列收到的当前TCP流量储存于收包内存中相应的收包地址。
其中,当该网卡的某个收包队列接收到当前TCP流量后,可以将该当前TCP流量存入收包内存中的收包地址里,该收包地址是与接收到该当前TCP流量的收包队列所对应的收包地址。例如,在该网卡的收包队列A接收到当前TCP流量之后,可以将该当前TCP流量储存至收包内存中与该收包队列A相对应的收包地址A中。
步骤B2:基于与收到当前TCP流量的收包队列具有映射关系的处理器读取存有当前TCP流量的收包地址,获取到当前TCP流量。
其中,由于已经建立了处理器与收包队列之间的映射关系,因此,当某收包队列将接收到的当前TCP流量存入收包内存中相应的收包地址时,可以令与该收包队列有映射关系的处理器从该收包地址中读取该当前TCP流量,进而成功获取该当前TCP流量。例如,当该网卡的收包队列A将所接收到的当前TCP流量存入收包内存的收包地址A中时,基于与该收包队列A具有映射关系的处理器是内核A,确定令该内核A读取收包内存中收包地址A里所存储的当前TCP流量,进而获取到该当前TCP流量。此外,本发明实施例还可以在处理器为多个CPU时,使用NUMA(Non Uniform Memory Access Architecture,非统一内存访问架构),提高CPU读写内存的速度。
本发明实施例通过内存共享的方式,例如令网卡和处理器读写同一块大页内存的方式,能够使网卡的收包队列与处理器共同访问该收包内存中的某一收包地址,建立起该处理器和网卡的收包队列之间的映射关系,该方法能够减少流量数据在传递过程中的拷贝,提高获取TCP流量的速度和效率;并且由于所使用的是大页内存,使得内存页的数量减少,所需的页表数量也减少,节约了页表所占用的内存数量;而且,整个读取过程中,所需的地址转换也减少了,TLB(Translation Lookaside Buffer,转换检测缓冲区)缓存失效的次数也就减少了,从而提高了内存访问的性能。另外,由于地址转换所需的信息一般保存在CPU的缓存中,大页内存的使用让地址转换信息减少,从而减少了CPU缓存的使用,减轻了CPU缓存的压力,让CPU缓存能更多地用于应用程序的数据缓存,也能够在整体上提升系统的性能。
可选地,在确定当前IP地址对应的当前哈希桶之前,该方法还包括以下步骤C1-C4。
步骤C1:预设多个带有索引标识的哈希桶。
其中,可以在确定当前IP地址对应的当前哈希桶之前,提前预设多个哈希桶,每个哈希桶分别对应一个索引标识,且每个哈希桶的索引标识均不相同。该索引标识是将所需处理的键值(如IP地址等),采用哈希算法生成的哈希值,其也是能够标记哈希桶的标识,即可以通过确定索引标识的方式,查询到具有相同索引标识的哈希桶。本发明实施例中,可以预设n个具有索引标识的哈希桶,这n个哈希桶分别对应n个索引标识,且为方便计算,每个索引标识的取值可以是为由0开始依次递增至n-1的整数,也可以是由n-1开始依次递减至0的整数。例如,预设10个具有索引标识的哈希桶,这10个哈希桶的索引标识可以依次为0、1、2…、8、9,如桶0、桶1、…、桶8、桶9
步骤C2:为每个哈希桶设置包含至少一个节点的链表,每个节点包括多个数据格和一个链表指针,每个数据格用于存储一个恶意IP地址,链表指针用于指向下一个节点。
其中,在每一个哈希桶中均设置一个链表,根据每个哈希桶的大小不同可以确定每个哈希桶的链表包含不同数量的节点,如当哈希桶的大小为256比特时,该哈希桶的链表可以包含一个节点;若该哈希桶的大小为512比特时,该哈希桶的链表可以包含两个节点。其中,每个节点均由多个数据格和一个链表指针所构成,一个数据格用于存储一个恶意IP地址,而一个链表指针中则可以记录后继节点的相关信息,即通过此节点中的链表指针能够指向并连接下一个节点。
例如,10个哈希桶中分别具有一个链表,且哈希桶中的一个节点的大小为256比特,此外,上述10个哈希桶的链表中的每个节点均可以包含多个数据格和一个链表指针,基于节点的大小、所保存的恶意IP地址的大小以及链表指针的大小,能够确定每个节点可以存储几个恶意IP地址。即,由于每个数据格分别存储一个恶意IP地址,因此每个数据格的大小可以是与恶意IP地址大小相同的32比特,而链表指针的大小通常是64比特,因此每个节点中的链表指针的大小是每个数据格大小的两倍,若该哈希桶中包含一个节点的大小为256比特,则该节点中可以包含6个数据格和1个链表指针。
步骤C3:在需要将恶意的待存储IP地址存储至哈希桶的情况下,基于哈希算法计算待存储IP地址的索引标识,并根据待存储IP地址的索引标识将待存储IP地址插入至对应的哈希桶中的当前节点未存有恶意IP地址的首个数据格中。
本发明实施例中,由于预设存有恶意IP地址的哈希桶是为了方便后续能通过比较IP地址的方式,确定某IP地址是否为恶意IP地址,因此需要将恶意的待存储IP地址存储至对应的哈希桶中,生成能够包含多个恶意IP地址的哈希桶。其中,待存储IP地址均为恶意的IP地址,可以针对该待存储IP地址,利用哈希算法计算该待存储IP地址的索引标识,通过该索引标识能够确定具有相同索引标识的哈希桶是与该待存储IP地址相对应的哈希桶,进而可以将该待存储IP地址插入至与其具有相同索引标识的哈希桶中,且该待存储IP地址保存在该哈希桶中的具体位置为:该哈希桶的当前节点中尚未插入恶意IP地址的首个数据格。该当前节点可以是该哈希桶的第一个节点,也可以是后继的某个节点,具体情况可根据该哈希桶中恶意IP地址的存储情况而定。
例如,通过计算确定恶意的待存储IP地址的索引标识为2,进而确定该索引标识同样为2的哈希桶是与该待存储IP地址相对应的哈希桶,因此可以将该待存储IP地址插入至该索引标识为2的哈希桶中。若该哈希桶中每个节点分别有6个数据格和1个链表指针,第一个节点的前4个数据格已被插入了恶意IP地址,而该节点的剩余2个数据格并未被插入恶意IP地址,因此可以将该第一个节点作为当前节点,将此时待存储IP地址插入至该当前节点的第5个数据格中。
步骤C4:若当前节点里的所有数据格均存有恶意IP地址,将待存储IP地址插入至当前节点的链表指针所指向的下一个节点的首个数据格中。
其中,当需要将待存储IP地址插入当前节点的数据格中时,若该当前节点中已经没有多余的数据格可以存储该待存储IP地址时,可以基于该当前节点的链表指针将该待存储IP地址插入该链表指针所指向的下一个节点未存有恶意IP地址的第一个数据格中。
例如,该哈希桶中第一个节点(当前节点)的6个数据格均已被恶意IP地址插入,而下一个节点中尚未存有恶意IP地址,因此可以基于该第一个节点(当前节点)的链表指针将该待存储IP地址插入下一个节点的第一个数据格中。
本发明实施例在确定当前IP地址对应的当前哈希桶之前,通过提前预设多个哈希桶,并在每个哈希桶中存入具有相同索引标识的恶意IP地址的方式,能够建立起可供查询比较恶意IP地址的数据库。并且,基于哈希桶中节点的链表指针能够解决当前节点的数据格不够的问题,进而在一个哈希桶中存储更多的相同索引标识的恶意IP地址,提高了处理哈希冲突的效率。
可选地,令当前IP地址同时与当前哈希桶中的一个节点里的多个恶意IP地址进行比较包括以下步骤D1-D2。
步骤D1:对当前IP地址进行复制扩展,生成与当前哈希桶中一个节点长度相同的当前序列,当前序列中的每个元素均为当前IP地址,且与当前哈希桶中一个节点的多个数据格与链表指针分别对应。
其中,在需要将当前IP地址与哈希桶中某个节点里的恶意IP地址相比较时,可以将该当前IP地址进行复制扩展生成每个元素均为当前IP地址的当前序列,该当前序列是与当前哈希桶中的一个节点长度一致的序列,并且该当前序列中的每个元素与当前哈希桶中一个节点的数据格和链表指针能够一一对应。例如,当前哈希桶的一个节点的长度为256比特,其共有6个数据格和1个链表指针,且该链表指针的大小与两个数据格的大小相同,当前IP地址的长度为32比特,通过对该当前IP地址进行复制扩展,能够得到与当前哈希桶的一个节点长度一致的当前序列,该当前序列是由8个当前IP地址构成的序列,且该当前序列中的前6个当前IP地址能够与当前哈希桶的一个节点的6个数据格一一对应,而该当前序列中的后2个当前IP地址能够与当前哈希桶的一个节点的链表指针所对应。
步骤D2:同时将当前序列中的每个元素分别与当前哈希桶中一个节点里的多个恶意IP地址比较。
其中,可以同时令当前序列中的每个元素,如每个相同的当前IP地址,分别与当前哈希桶中的一个节点里所保存的多个恶意IP地址相比较。例如,在得到具有多个当前IP地址的当前序列后,可以基于SIMD(Single Instruction,Multiple Data,一条指令操作多个数据)指令集使该当前序列中的每个当前IP地址分别与当前哈希桶中一个节点里的每个恶意IP地址进行比较,该比较过程可以如图2所示,其中,IP1、IP2…、IP6分别表示当前哈希桶的一个节点中每一个数据格所保存的恶意IP地址;next表示当前哈希桶的一个节点的链表指针;IPx则表示当前序列中的元素,即当前IP地址。
本发明实施例中仅针对当前IP地址进行复制扩展,能够节省令该当前IP地址与节点内所有恶意IP地址单独对比所消耗的时间,即只需要执行一次比较过程就能够实现将一个节点中的每个恶意IP地址与当前IP地址进行比较的功能,整个比较过程简便快速、效率高。
可选地,在向目标端口发送用于阻断TCP连接的当前阻断报文之前,该方法还包括以下步骤E1-E2。
步骤E1:预设用于生成阻断报文的模板,模板包括物理地址和能够动态更新的属性信息,属性信息包括源IP、目的IP、源端口、目的端口、序列号中的至少一种。
其中,在向目标端口发送用于阻断TCP连接的当前阻断报文之前,可以提前预设一个模板,基于该模板能够生成阻断报文。在该模板中可以包括阻断报文中固有的物理地址(MAC地址),以及能够视情况而更新的属性信息,该属性信息是与目标端口之间的TCP连接所传输的TCP流量的某些属性信息,如该TCP流量的源IP、目的IP、源端口、目的端口以及序列号中的一种或多种。例如,在所预设的能够用于生成阻断报文的模板中,为与目标端口之间的TCP连接所传输的TCP流量的源IP、目的IP、源端口、目的端口以及序列号留有固定的位置,并且在该模板中填好物理地址。
步骤E2:根据模板生成向目标端口发送的用于阻断TCP连接的当前阻断报文。
其中,在确定该当前TCP流量为恶意流量之后,能够确定需要生成当前阻断报文,并将该当前阻断报文发送至目标端口。因此,可以基于预设的模板,将该当前TCP流量的源IP、目的IP、源端口、目的端口以及序列号直接填入模板中各个属性信息的对应位置,进而快速生成该当前阻断报文,将该当前阻断报文发送至目标端口,使得能够快速切断与该目标端口之间的TCP连接。
本发明实施例通过预设生成阻断报文的模板,在该模板中固定了物理地址,避免了使用ARP(Address Resolution Protocol,地址解析协议)表进行查找物理地址的过程;并且,在生成阻断报文时仅需要动态填入与需要阻断的恶意TCP连接相关的属性信息,即可快速生成所需的阻断报文,阻断报文的构建过程耗时少、处理的数据也较少,效率高。
可选地,根据模板生成向目标端口发送的用于阻断TCP连接的阻断报文包括以下步骤F1或F2。
步骤F1:在当前为第1次生成阻断报文的情况下,在模板的基础上,填入当前TCP流量的属性信息,得到当前阻断报文,并计算当前阻断报文的校验和。
其中,当针对当前TCP流量生成阻断报文为第一次生成阻断报文时,可以基于预设的模板,直接在该模板的为多种属性信息所预留的位置上对应填入当前TCP流量的属性信息,进而生成当前阻断报文。本发明实施例中,可以在生成当前阻断报文的同时计算该当前阻断报文的校验和,也可以在生成当前阻断报文之后再计算该当前阻断报文的校验和,本实施例对此不做限定。
步骤F2:在当前为第i次生成阻断报文且i大于1的情况下,在第i-1次生成的阻断报文的基础上,将第i-1次生成的阻断报文中与当前TCP流量的属性信息不同的属性信息替换为当前TCP流量的属性信息,得到当前阻断报文,并根据第i-1次生成的阻断报文的属性信息与当前TCP流量的属性信息之间的差异计算当前阻断报文的校验和。
其中,当针对当前TCP流量生成阻断报文并不是第一次生成阻断报文时,即本次为第i次生成阻断报文且i大于1的情况下,可以在上一次所生成的阻断报文(如第i-1次生成的阻断报文)的基础上,将该上一次所生成的阻断报文中的属性信息中与本次需要阻断的当前TCP流量的属性信息中不一致的属性信息进行替换,即在上一次所生成的阻断报文的基础上,将与本次不同的属性信息替换为本次需要阻断的当前TCP流量的属性信息,得到当前阻断报文(即第i次生成的阻断报文),并在上一次所生成的阻断报文的校验和的基础上确定本次所生成的当前阻断报文的校验和。
其中,计算当前阻断报文的校验和可以根据上一次生成的阻断报文中的属性信息与本次需要阻断的当前TCP流量的属性信息之间的差异进行计算。例如,该计算方式可以是将当前TCP流量的属性信息中与上一次生成的阻断报文中的属性信息中不同的属性信息的二进制代码,与上一次生成的阻断报文中的属性信息相对应的二进制代码相减,得到中间代码,将该中间代码加上上一次生成的阻断报文的校验和,得到当前阻断报文的校验和。
例如,在当前为第2次生成阻断报文的情况下,可以在第1次生成的阻断报文中的属性信息的基础上进行替换,生成当前阻断报文。若第1次生成的阻断报文中的属性信息为源IP1、目的IP1、源端口1、目的端口1以及序列号1,而当前需要阻断的当前TCP流量的属性信息分别为IP1、目的IP1、源端口1、目的端口1以及序列号2,因此可以将第1次生成的阻断报文的属性信息中与当前TCP流量的属性信息中不同的序列号1替换为序列号2,进而快速生成当前阻断报文。并且可以基于上述第1次生成的阻断报文的属性信息中与当前TCP流量的属性信息中不同部分计算得到当前阻断报文的校验和。例如,两次阻断报文的属性信息中只有序列号是不同的,因此,可以利用两个序列号对应的二进制代码之间的差异计算校验和,例如,序列号1的二进制代码为1010,上一次生成的阻断报文的二进制代码为1010,0001,其校验和为1011,序列号2的二进制代码为1110,且当前阻断报文的二进制代码为1110,0001。令当前阻断报文中序列号2的二进制代码1110减去上一次生成的阻断报文中序列号1的二进制代码1010,得到中间代码0100,再令该中间代码0100与上一次生成的阻断报文的校验和1011相加,得到当前阻断报文的校验和为1111。
本发明实施例通过判断当前是否为第一次生成阻断报文,可以分别采用两种不同的方式生成当前阻断报文,若当前是第一次生成阻断报文,则选择预设的模板,基于模板快速生成当前阻断报文并计算校验和;若当前不是第一次生成阻断报文,则在上一次生成的阻断报文的基础上,利用二者之间不同的属性信息进行替换以及计算,也能较为快速地生成当前阻断报文和该当前阻断报文的校验和。上述两种方法所需要处理的数据量较小,进而使生成当前阻断报文的效率提高。
可选地,由于校验和一般是通过反码求和的方式得到的,故本实施例中,根据第i-1次生成的阻断报文的属性信息与当前TCP流量的属性信息之间的差异计算第i次阻断报文的校验和,可以包括以下步骤G1-G3。
步骤G1:将第i-1次生成的阻断报文中被替换的属性信息进行二进制反码处理,得到第一反码;将当前阻断报文中与第i-1次生成的阻断报文中不同的属性信息也进行二进制反码处理,得到第二反码。
其中,在当前不是第一次生成阻断报文的情况下,可以将上一次(第i-1次)所生成的阻断报文中被替换掉的属性信息的二进制代码进行反码处理,将该反码处理后的二进制代码作为第一反码;将当前阻断报文中用于替换上一次(第i-1次)所生成的阻断报文中属性信息的属性信息的二进制代码同样进行反码处理,得到第二反码。
例如,上一次生成的阻断报文的二进制代码为1010,0001,经反码求和的方式得到其校验和为0011,当前阻断报文的二进制代码为1110,0001;将上一次生成的阻断报文的二进制代码中被替换掉的1010进行反码处理得到第一反码0101;对当前阻断报文的二进制代码中用于替换的1110进行反码处理,得到第二反码0001。
步骤G2:令第二反码减去第一反码,得到变化反码。
本发明实施例中,令所得到的第二反码减去第一反码,确定变化反码。例如,将第二反码0001作为被减数,将第一反码0101作为减数,经减法运算得到变化反码为1100。
步骤G3:令变化反码与第i-1次生成的阻断报文的校验和相加,得到当前阻断报文的校验和。
其中,可以先确定上一次生成的阻断报文的校验和,变化反码加上上一次生成的阻断报文的校验和,能够得到当前阻断报文的校验和。例如,将变化反码1100与该上一次生成的阻断报文的校验和为0011相加,得到该当前阻断报文的校验和为1111。
本发明实例在上一次生成的阻断报文的校验和的基础上,仅通过两次阻断报文之间属性信息的差异部分,进行二进制的反码处理,进而得到当前阻断报文的校验和,该方法计算量小,生成校验码的速度快。
可选地,在向目标端口发送用于阻断TCP连接的当前阻断报文之前,该方法还包括以下步骤H1-H2。
步骤H1:为至少一个处理器分配发包内存。
其中,可以为一个处理器分配发包内存,也可以为多个处理器分配发包内存,即该多个处理器共用一个发包内存。该发包内存可以是大页内存,如大小为2MB(MegaBytes,兆字节)或者1GB(GigaByte,千兆字节)的内存。例如,共有4个CPU内核(处理器),本发明实施例可以为这4个CPU内核分配一个发包内存,该发包内存是大小为1GB的大页内存,即这4个CPU内核共用一个发包内存。
步骤H2:建立处理器与网卡的至少一个发包队列之间的映射关系,并在处理器所分配的发包内存中为处理器映射的每个发包队列设置发包地址,发包地址用于存储网卡中相应的发包队列所发送的TCP流量包。
其中,网卡可以包括多个发包队列,每个发包队列用于向外界发送TCP流量。可以为处理器与网卡中的至少一个发包队列建立映射关系,也可以为处理器与网卡中的多个发包队列分别建立映射关系,即一个处理器可以仅对应网卡中的一个发包队列,也可以分别对应该网卡中的多个不同的发包队列。并且,可以为该处理器所对应的每个发包队列在该处理器所被分配到的发包内存中分别设置一一对应的发包地址,该发包地址能够存储该网卡中与之相对应的发包队列所需要发送的TCP流量,即当该需要发送的TCP流量被某处理器存入至该发包队列对应的发包内存中所指定的发包地址中时,该网卡可以通过该发包队列将该TCP流量发送出去。
如上例所示,以一个CPU内核作为一个处理器,共有4个处理器,分别是内核A、内核B、内核C以及内核D;该网卡共有4个发包队列,分别是发包队列A、发包队列B、发包队列C以及发包队列D;依次建立内核A与发包队列A之间的映射关系、内核B与发包队列B之间的映射关系、内核C与发包队列C之间的映射关系以及内核D与发包队列D之间的映射关系,使每个CPU内核(处理器)分别对应一个发包队列。并且,在这4个CPU内核(处理器)所分配到的、共用的发包内存中,为每一个发包队列设置一个发包地址,每一个发包地址均可存储其所对应的发包队列所需要发送的TCP流量;即为发包队列A在该发包内存中设置对应的发包地址A,该发包地址A能够存储发包队列A所需要发送的TCP流量、为发包队列B在该发包内存中设置对应的发包地址B,该发包地址B能够存储发包队列B所需要发送的TCP流量、为发包队列C在该发包内存中设置对应的发包地址C,该发包地址C能够存储发包队列C所需要发送的TCP流量,以及为发包队列D在该发包内存中设置对应的发包地址D,该发包地址D能够存储发包队列D所需要发送的TCP流量。
向目标端口发送用于阻断TCP连接的当前阻断报文包括以下步骤I1-I2。
步骤I1:将当前阻断报文储存于发包内存中相应的发包地址。
其中,当需要将当前阻断报文发送至目标端口时,首先可以令某个处理器将该当前阻断报文存储于发包内存中。其中,该处理器可以是具有该当前阻断报文的处理器,如生成该当前阻断报文的处理器,也可以是能够调取当前阻断报文的处理器;该处理器将该当前阻断报文存储于发包内存中的具体位置为该处理器能够访问的发包地址。例如,当需要将内核A(处理器)所具有的当前阻断报文发送至目标端口时,可以令该内核A(处理器)将该当前阻断报文存储至发包内存中的某个指定位置里,该指定位置是该内核A(处理器)能够访问的发包地址A。
步骤I2:基于网卡读取存有所述当前阻断报文的发包地址,将读取到的所述当前阻断报文写入相应的发包队列,并向目标端口发送用于阻断TCP连接的当前阻断报文。
其中,当处理器将该当前阻断报文存储至发包内存中、该处理器能够访问的发包地址中时,可以确定由该网卡从该发包地址读取该当前阻断报文,并将该当前阻断报文写入相应的发包队列中,即能够发送该发包地址的发包队列,进而将该当前阻断报文发送至目标端口,阻断与该目标端口之间的TCP连接。例如,在内核A(处理器)将该当前阻断报文存储至发包内存中、该内核A(处理器)能够访问的的发包地址A中时,可以基于网卡从该发包地址A中读取该当前阻断报文,并将该当前阻断报文写入与该发包地址A相对应的发包队列A中,进而将该当前阻断报文发送至目标端口。
本发明实施例通过内存共享的方式,例如令网卡和处理器读写同一块大页内存的方式,能够使网卡的发包队列与处理器共同访问该发包内存中的某一发包地址,建立起该处理器和网卡的发包队列之间的映射关系。该方法能够减少了报文数据在传递过程中的拷贝,提高发送当前阻断报文的速度和效率,尽快与恶意的TCP连接断开连接。并且由于所使用的是大页内存,使得内存页的数量减少,所需的页表数量也减少,节约了页表所占用的内存数量;而且,整个过程中,所需的地址转换也减少了,TLB缓存失效的次数也就减少了,从而提高了内存访问的性能。另外,由于地址转换所需的信息一般保存在CPU的缓存中,大页内存的使用让地址转换信息减少,从而减少了CPU缓存的使用,减轻了CPU缓存的压力,让CPU缓存能更多地用于应用程序的数据缓存,也能够在整体上提升系统的性能。
下面通过一个实施例详细介绍该阻断恶意TCP连接的方法流程。参见图3所示,该方法包括以下步骤301-315。
步骤301:为CPU内核分配一个收包内存和一个发包内存。
步骤302:建立该CPU内核与网卡的收包队列之间的映射关系、建立该CPU内核与网卡的发包队列之间的映射关系。
步骤303:在该CPU内核所分配的收包内存中为该CPU内核映射的每个收包队列设置收包地址;在该CPU内核所分配的发包内存中为该CPU内核映射的每个发包队列设置发包地址。
步骤304:基于网卡的收包队列将接收的TCP流量存入与该收包队列对应的收包地址中,并由与该收包队列具有映射关系的CPU内核从该收包地址中读取该TCP流量,作为当前TCP流量。
步骤305:预设多个索引标识不同的哈希桶,每个哈希桶中包含至少一个节点,且每个节点用于保存恶意IP地址。
步骤306:根据该当前TCP流量的当前IP地址,计算该当前IP地址的索引标识,将具有该索引标识的哈希桶作为当前哈希桶。
步骤307:将该当前IP地址进行复制,扩展为与该当前哈希桶中的一个节点长度相同的当前序列,且该当前序列中的每个元素均为当前IP地址。
步骤308:将该当前序列中的每个元素同时与该当前哈希桶中一个节点里的多个恶意IP地址比较。
步骤309:判断该当前哈希桶中是否存在与该当前IP地址相同的恶意IP地址,若存在,执行步骤310;若不存在,执行步骤315。
步骤310:确定该当前TCP流量是恶意TCP流量。
步骤311:判断当前是否为第一次生成阻断报文,若是,执行步骤312;否则执行步骤313。
步骤312:基于模板生成当前阻断报文,继续执行步骤314。
步骤313:基于上一次生成的阻断报文,生成当前阻断报文。
步骤314:将当前阻断报文存入发包内存中的发包地址,基于与该发包地址相应的发包队列将该当前阻断报文发送至目标端口。
步骤315:确定该当前TCP流量不是恶意TCP流量。
本发明实施例还提供了一种阻断恶意TCP连接的装置,参见图4所示,包括:获取模块41、确定模块42、比较模块43以及发送模块44。
获取模块41用于获取当前TCP流量。
确定模块42用于根据所述当前TCP流量的当前IP地址,确定所述当前IP地址对应的当前哈希桶,所述当前哈希桶包括至少一个用于保存多个恶意IP地址的节点。
比较模块43用于令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较,若所述当前哈希桶中存在与所述当前IP地址相同的恶意IP地址,确定所述当前TCP流量是恶意TCP流量。
发送模块44用于向目标端口发送用于阻断TCP连接的当前阻断报文,所述目标端口包括与所述当前TCP流量相关的端口。
可选地,在所述获取当前TCP流量之前,该装置还包括:分配收包内存模块和建立收包映射模块。
分配收包内存模块用于为至少一个处理器分配收包内存。
建立收包映射模块用于建立所述处理器与所述网卡的至少一个收包队列之间的映射关系,并在所述处理器所分配的所述收包内存中为所述处理器映射的每个所述收包队列设置收包地址,所述收包地址用于存储所述网卡中相应的所述收包队列所收到的TCP流量;
获取模块41包括:第一存包单元和收包单元。
存保单元用于将所述网卡的一个收包队列收到的当前TCP流量储存于所述收包内存中相应的收包地址。
收包单元用于基于与收到所述当前TCP流量的收包队列具有映射关系的所述处理器读取存有所述当前TCP流量的收包地址,获取到所述当前TCP流量。
可选地,在所述确定所述当前IP地址对应的当前哈希桶之前,该装置还包括:预设哈希桶模块、配置哈希桶模块以及生成哈希桶模块。
预设哈希桶模块用于预设多个带有索引标识的哈希桶。
配置哈希桶模块用于为每个所述哈希桶设置包含至少一个节点的链表,每个所述节点包括多个数据格和一个链表指针,每个所述数据格用于存储一个恶意IP地址,所述链表指针用于指向下一个节点。
生成哈希桶模块用于在需要将恶意的待存储IP地址存储至哈希桶的情况下,基于哈希算法计算所述待存储IP地址的索引标识,并根据所述待存储IP地址的索引标识将所述待存储IP地址插入至对应的哈希桶中的当前节点未存有恶意IP地址的首个数据格中;若所述当前节点里的所有数据格均存有恶意IP地址,将所述待存储IP地址插入至所述当前节点的链表指针所指向的下一个节点的首个数据格中。
可选地,比较模块43包括:复制扩展单元和同时比较单元。
复制扩展单元用于对所述当前IP地址进行复制扩展,生成与所述当前哈希桶中一个所述节点长度相同的当前序列,所述当前序列中的每个元素均为所述当前IP地址,且与所述当前哈希桶中一个所述节点的多个数据格与链表指针分别对应。
同时比较单元用于同时将所述当前序列中的每个元素分别与所述当前哈希桶中一个所述节点里的多个恶意IP地址比较。
可选地,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,该装置还包括:预设模板模块和第一发送模块。
预设模板模块用于预设用于生成阻断报文的模板,所述模板包括物理地址和能够动态更新的属性信息,所述属性信息包括源IP、目的IP、源端口、目的端口、序列号中的至少一种。
第一发送模块用于根据所述模板生成向目标端口发送的用于阻断TCP连接的当前阻断报文。
可选地,第一发送模块包括:第一生成单元或第二生成单元。
第一生成单元用于在当前为第1次生成阻断报文的情况下,在所述模板的基础上,填入所述当前TCP流量的属性信息,得到所述当前阻断报文,并计算所述当前阻断报文的校验和。
第二生成单元用于在当前为第i次生成阻断报文且i大于1的情况下,在第i-1次生成的阻断报文的基础上,将第i-1次生成的阻断报文中与所述当前TCP流量的属性信息不同的属性信息替换为所述当前TCP流量的属性信息,得到所述当前阻断报文,并根据第i-1次生成的阻断报文的属性信息与所述当前TCP流量的属性信息之间的差异计算所述当前阻断报文的校验和。
可选地,第二生成单元包括:反码子单元、减码子单元以及生成校验和子单元。
反码子单元用于将所述第i-1次生成的阻断报文中被替换的属性信息进行二进制反码处理,得到第一反码;将所述当前阻断报文中与所述第i-1次生成的阻断报文中不同的属性信息也进行二进制反码处理,得到第二反码。
减码子单元用于令所述第二反码减去所述第一反码,得到变化反码。
生成校验和子单元用于令所述变化反码与所述第i-1次生成的阻断报文的校验和相加,得到所述当前阻断报文的校验和。
可选地,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,该装置还包括:分配发包内存模块和建立发包映射模块。
分配发包内存模块用于为至少一个处理器分配发包内存。
建立发包映射模块用于建立所述处理器与所述网卡的至少一个发包队列之间的映射关系,并在所述处理器所分配的所述发包内存中为所述处理器映射的每个所述发包队列设置发包地址,所述发包地址用于存储所述网卡中相应的所述发包队列所发送的TCP流量。
发送模块44包括:第二存包单元和发包单元。
第二存保单元用于将所述当前阻断报文储存于所述发包内存中相应的发包地址。
发包单元用于基于网卡读取存有所述当前阻断报文的发包地址,将读取到的所述当前阻断报文写入相应的发包队列,并向目标端口发送用于阻断TCP连接的当前阻断报文。
本发明实施例提供的阻断恶意TCP连接的装置,在判断当前TCP流量是否为恶意TCP流量时,将原来需要匹配的五元组减少为一元组,即只需要匹配IP地址,从而能够减少所需匹配的信息;并将当前IP地址同时与多个恶意IP地址进行比较,能够快速确定该当前IP地址是否为恶意IP地址,进而确定该当前TCP流量是否为恶意TCP流量,并针对恶意TCP流量进行阻断。该装置不仅识别速度快,准确度也较高,能及时阻断恶意TCP连接,大大提高网络安全处理的效率。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述阻断恶意TCP连接的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图5所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述阻断恶意TCP连接的方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、外围部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)系统、码分多址(CDMA)系统、全球微波互联接入(WiMAX)系统、通用分组无线业务(GPRS)系统、宽带码分多址(WCDMA)系统、长期演进(LTE)系统、LTE频分双工(FDD)系统、LTE时分双工(TDD)系统、先进长期演进(LTE-A)系统、通用移动通信(UMTS)系统、增强移动宽带(Enhance Mobile Broadband,eMBB)系统、海量机器类通信(massive Machine Type of Communication,mMTC)系统、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)系统等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述阻断恶意TCP连接的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种阻断恶意TCP连接的方法,其特征在于,包括:
获取当前TCP流量;
根据所述当前TCP流量的当前IP地址,确定所述当前IP地址对应的当前哈希桶,所述当前哈希桶包括至少一个用于保存多个恶意IP地址的节点;
令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较,若所述当前哈希桶中存在与所述当前IP地址相同的恶意IP地址,确定所述当前TCP流量是恶意TCP流量;
向目标端口发送用于阻断TCP连接的当前阻断报文,所述目标端口包括与所述当前TCP流量相关的端口。
2.根据权利要求1所述的方法,其特征在于,在所述获取当前TCP流量之前,还包括:
为至少一个处理器分配收包内存;以及
建立所述处理器与所述网卡的至少一个收包队列之间的映射关系,并在所述处理器所分配的所述收包内存中为所述处理器映射的每个所述收包队列设置收包地址,所述收包地址用于存储所述网卡中相应的所述收包队列所收到的TCP流量;
所述获取当前TCP流量,包括:
将所述网卡的一个收包队列收到的当前TCP流量储存于所述收包内存中相应的收包地址;
基于与收到所述当前TCP流量的收包队列具有映射关系的所述处理器读取存有所述当前TCP流量的收包地址,获取到所述当前TCP流量。
3.根据权利要求1所述的方法,其特征在于,在所述确定所述当前IP地址对应的当前哈希桶之前,还包括:
预设多个带有索引标识的哈希桶;
为每个所述哈希桶设置包含至少一个节点的链表,每个所述节点包括多个数据格和一个链表指针,每个所述数据格用于存储一个恶意IP地址,所述链表指针用于指向下一个节点;
在需要将恶意的待存储IP地址存储至哈希桶的情况下,基于哈希算法计算所述待存储IP地址的索引标识,并根据所述待存储IP地址的索引标识将所述待存储IP地址插入至对应的哈希桶中的当前节点未存有恶意IP地址的首个数据格中;
若所述当前节点里的所有数据格均存有恶意IP地址,将所述待存储IP地址插入至所述当前节点的链表指针所指向的下一个节点的首个数据格中。
4.根据权利要求3所述的方法,其特征在于,所述令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较包括:
对所述当前IP地址进行复制扩展,生成与所述当前哈希桶中一个所述节点长度相同的当前序列,所述当前序列中的每个元素均为所述当前IP地址,且与所述当前哈希桶中一个所述节点的多个数据格与链表指针分别对应;
同时将所述当前序列中的每个元素分别与所述当前哈希桶中一个所述节点里的多个恶意IP地址比较。
5.根据权利要求1所述的方法,其特征在于,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,还包括:
预设用于生成阻断报文的模板,所述模板包括物理地址和能够动态更新的属性信息,所述属性信息包括源IP、目的IP、源端口、目的端口、序列号中的至少一种;
根据所述模板生成向目标端口发送的用于阻断TCP连接的当前阻断报文。
6.根据权利要求5所述的方法,其特征在于,所述根据所述模板生成向目标端口发送的用于阻断TCP连接的阻断报文包括:
在当前为第1次生成阻断报文的情况下,在所述模板的基础上,填入所述当前TCP流量的属性信息,得到所述当前阻断报文,并计算所述当前阻断报文的校验和;
在当前为第i次生成阻断报文且i大于1的情况下,在第i-1次生成的阻断报文的基础上,将第i-1次生成的阻断报文中与所述当前TCP流量的属性信息不同的属性信息替换为所述当前TCP流量的属性信息,得到所述当前阻断报文,并根据第i-1次生成的阻断报文的属性信息与所述当前TCP流量的属性信息之间的差异计算所述当前阻断报文的校验和。
7.根据权利要求6所述的方法,其特征在于,所述根据第i-1次生成的阻断报文的属性信息与所述当前TCP流量的属性信息之间的差异计算所述第i次阻断报文的校验和,包括:
将所述第i-1次生成的阻断报文中被替换的属性信息进行二进制反码处理,得到第一反码;将所述当前阻断报文中与所述第i-1次生成的阻断报文中不同的属性信息也进行二进制反码处理,得到第二反码;
令所述第二反码减去所述第一反码,得到变化反码;
令所述变化反码与所述第i-1次生成的阻断报文的校验和相加,得到所述当前阻断报文的校验和。
8.根据权利要求1所述的方法,其特征在于,在所述向目标端口发送用于阻断TCP连接的当前阻断报文之前,还包括:
为至少一个处理器分配发包内存;以及
建立所述处理器与所述网卡的至少一个发包队列之间的映射关系,并在所述处理器所分配的所述发包内存中为所述处理器映射的每个所述发包队列设置发包地址,所述发包地址用于存储所述网卡中相应的所述发包队列所发送的TCP流量;
所述向目标端口发送用于阻断TCP连接的当前阻断报文,包括:
将所述当前阻断报文储存于所述发包内存中相应的发包地址;
基于网卡读取存有所述当前阻断报文的发包地址,将读取到的所述当前阻断报文写入相应的发包队列,并向目标端口发送用于阻断TCP连接的当前阻断报文。
9.一种阻断恶意TCP连接的装置,其特征在于,包括:获取模块、确定模块、比较模块以及发送模块;
所述获取模块用于获取当前TCP流量;
所述确定模块用于根据所述当前TCP流量的当前IP地址,确定所述当前IP地址对应的当前哈希桶,所述当前哈希桶包括至少一个用于保存多个恶意IP地址的节点;
所述比较模块用于令所述当前IP地址同时与所述当前哈希桶中的一个所述节点里的多个恶意IP地址进行比较,若所述当前哈希桶中存在与所述当前IP地址相同的恶意IP地址,确定所述当前TCP流量是恶意TCP流量;
所述发送模块用于向目标端口发送用于阻断TCP连接的当前阻断报文,所述目标端口包括与所述当前TCP流量相关的端口。
10.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的阻断恶意TCP连接的方法中的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的阻断恶意TCP连接的方法中的步骤。
CN202111602829.5A 2021-12-24 2021-12-24 一种阻断恶意tcp连接的方法、装置及电子设备 Pending CN116346382A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111602829.5A CN116346382A (zh) 2021-12-24 2021-12-24 一种阻断恶意tcp连接的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111602829.5A CN116346382A (zh) 2021-12-24 2021-12-24 一种阻断恶意tcp连接的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN116346382A true CN116346382A (zh) 2023-06-27

Family

ID=86877768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111602829.5A Pending CN116346382A (zh) 2021-12-24 2021-12-24 一种阻断恶意tcp连接的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116346382A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521061A (zh) * 2024-01-05 2024-02-06 南京南自华盾数字技术有限公司 一种基于二进制转换器的定时旁路攻击安全防护方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521061A (zh) * 2024-01-05 2024-02-06 南京南自华盾数字技术有限公司 一种基于二进制转换器的定时旁路攻击安全防护方法
CN117521061B (zh) * 2024-01-05 2024-03-15 南京南自华盾数字技术有限公司 一种基于二进制转换器的定时旁路攻击安全防护方法

Similar Documents

Publication Publication Date Title
US11500689B2 (en) Communication method and apparatus
US11755513B2 (en) Data processing and writing method based on virtual machine memory identification field and devise
US20190266193A1 (en) Data processing method for bloom filter, and bloom filter
CN110928483B (zh) 数据存储、数据获取方法及设备
US20090271172A1 (en) Emulating A Computer Run Time Environment
US20180241630A1 (en) Method and apparatus for virtualized network function scaling that is initiated by network management and/or element management
US9063860B2 (en) Method and system for optimizing prefetching of cache memory lines
CN111190854B (zh) 通信数据处理方法、装置、设备、系统和存储介质
CN113468090B (zh) 一种PCIe通信方法、装置、电子设备及可读存储介质
US9158690B2 (en) Performing zero-copy sends in a networked file system with cryptographic signing
CN113760560A (zh) 一种进程间通信方法以及进程间通信装置
US20220236908A1 (en) Method, electronic device and computer program product for processing data
CN104753814B (zh) 基于网卡的报文分流处理方法
CN110609708B (zh) 用于数据处理的方法、设备和计算机可读介质
CN116346382A (zh) 一种阻断恶意tcp连接的方法、装置及电子设备
CN110870286A (zh) 容错处理的方法、装置和服务器
CN109582592B (zh) 资源管理的方法和装置
CN109857553B (zh) 内存管理方法及装置
CN113691466B (zh) 一种数据的传输方法、智能网卡、计算设备及存储介质
US20090171651A1 (en) Sdram-based tcam emulator for implementing multiway branch capabilities in an xml processor
KR102359073B1 (ko) 저장을 관리하는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체
CN107276998B (zh) 一种基于OpenSSL的性能优化方法及装置
US11567683B2 (en) Technologies for providing edge deduplication
CN111435323B (zh) 信息的传输方法、装置、终端、服务器及存储介质
CN115334013B (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