CN114915492A - 一种流量转发方法、装置、设备及介质 - Google Patents
一种流量转发方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114915492A CN114915492A CN202210706688.XA CN202210706688A CN114915492A CN 114915492 A CN114915492 A CN 114915492A CN 202210706688 A CN202210706688 A CN 202210706688A CN 114915492 A CN114915492 A CN 114915492A
- Authority
- CN
- China
- Prior art keywords
- client
- flow
- server
- message header
- layer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000004806 packaging method and process Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 101150071927 AANAT gene Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- 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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种流量转发方法、装置、设备及介质,涉及计算机技术领域,包括:接收客户端基于客户端二层流量与包括目标终端特征信息的自定义报文头发送的目标流量;客户端二层流量通过第一TUN设备对原始流量封装而成;对目标流量进行解析并将客户端二层流量中的报文头替换为自定义报文头,利用第二TUN设备从替换后客户端二层流量中解析出原始流量,并利用蜜罐程序对其进行处理,将处理结果封装为服务端二层流量并发送至客户端,以便客户端解析出处理结果并发送至目标终端。可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以感知到目标终端的特征信息。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种流量转发方法、装置、设备及介质。
背景技术
当攻击者进入目标区域,区域内的蜜罐节点数量越多,攻击者触碰到蜜罐节点的概率就越大,所以在蜜罐部署时需要在有限的资源内部署更多的蜜罐节点。当前一种常用的方式是在节点内安装流量转发agent(代理),并通过流量转发agent将接收到的网络流量发送到蜜罐节点中,此时攻击者访问安装了流量转发agent的节点的效果与访问蜜罐节点的效果是一样的。但是在这样的场景下从蜜罐节点的角度来看,攻击当前蜜罐的是安装了流量转发agent的节点(可能是客户的资产)。
对于上述问题,在硬件服务器的场景下可以通过在宿主机上配置iptables(静态防火墙)的nat(Network Address Translation,网络地址转换)表,基于snat(SourceNetwork Address Translation,源地址目标转换)和dnat(Destination Network AddressTranslation,目标网络地址转换)的方式来进行地址的纠正。但是这种方式需要在宿主机上运行程序,从而操作宿主机的iptables来实现对蜜罐节点中转发的流量地址进行纠正,而操作宿主机上的iptables是一个较为危险的行为,并且绝大部分的iptables操作都是通过命令行来执行的,一次的攻击连接需要创建一个进程来进行iptables配置,当遇到tcp(Transmission Control Protocol,传输控制协议)连接扫描行为时,会需要不断地创建进程并操作iptables,对系统的性能和iptables的性能都是一个非常严峻的考验。此外,在云环境下(蜜罐程序不再具有操作宿主机上的nat表进行地址纠正的权限),这样的方案会遇到无法获取攻击者真实IP的问题。
为此,如何在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,获取到攻击者的真实IP地址是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种流量转发方法、装置、设备及介质,能够无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,获取到攻击者的真实IP地址。其具体方案如下:
第一方面,本申请公开了一种流量转发方法,应用于服务端,包括:
通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;
对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;
利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
可选的,所述特征信息包括所述目标终端的IP地址和端口信息。
可选的,所述将所述客户端二层流量中的原始报文头替换为所述自定义报文头,包括:
利用预设的服务端程序,将所述客户端二层流量中的原始报文头替换为所述自定义报文头。
可选的,所述将所述客户端二层流量中的原始报文头替换为所述自定义报文头之后,还包括:
基于所述替换后客户端二层流量中的所述自定义报文头分别重新计算传输层和网络层的校验和。
可选的,所述利用所述第二TUN设备将相应的处理结果封装为服务端二层流量之后,还包括:
将所述服务端二层流量中的所述自定义报文头替换为所述原始报文头。
第二方面,本申请公开了一种流量转发方法,应用于客户端,包括:
通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量,并通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端,以便所述服务端对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换客户端二层流量中解析出所述原始流量,所述自定义报文头中包括目标终端的特征信息;
通过所述TCP隧道接收所述服务端返回的服务端二层流量,所述服务端二层流量为所述第二TUN设备,将预设的蜜罐程序对所述原始流量进行处理得到的处理结果进行封装得到的流量;
利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
可选的,所述通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量之前,还包括:
利用预设的客户端程序对所述客户端中的物理网卡上的目标端口进行监听,并将监听到的流量确定为所述原始流量。
第三方面,本申请公开了一种流量转发装置,应用于服务端,包括:
目标流量接收模块,用于通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;
报文头替换模块,用于对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;
流量转发模块,用于利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的流量转发方法。
第五方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的流量转发方法。
可见,本申请提出了一种流量转发方法,包括:通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,感知到目标终端的特征信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种流量转发方法流程图;
图2为本申请公开的一种具体的流量转发方法流程图;
图3为本申请公开的一种具体的流量转发方法流程图;
图4为本申请公开的一种流量转发装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于在节点内安装流量转发agent,并通过流量转发agent将接收到的网络流量发送到蜜罐节点中,但从蜜罐节点的角度来看,攻击当前蜜罐的是安装了流量转发agent的节点的问题,可以通过在硬件服务器的场景下可以通过在宿主机上配置iptables的nat表,基于snat和dnat的方式来进行地址的纠正。但是这种方式需要在宿主机上运行程序,从而操作宿主机的iptables来实现对蜜罐节点中转发的流量地址进行纠正,而操作宿主机上的iptables是一个较为危险的行为,并且绝大部分的iptables操作都是通过命令行来执行的,一次的攻击连接需要创建一个进程来进行iptables配置,当遇到tcp连接扫描行为时,会需要不断地创建进程并操作iptables,对系统的性能和iptables的性能都是一个非常严峻的考验。此外,在云环境下,这样的方案会遇到无法获取攻击者真实IP的问题。
为此,本申请实施例提出一种流量转发方案,能够在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,获取到攻击者的真实IP地址。
本申请实施例公开了一种流量转发方法,应用于服务端,参见图1所示,该方法包括:
步骤S11:通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息。
本实施例中,所述目标端口为所述客户端中的物理网卡上的端口,所述特征信息包括所述目标终端的IP地址和端口信息。
步骤S12:对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量。
本实施例中,利用预先部署在所述服务端中的预设的服务端程序,将所述客户端二层流量中的原始报文头替换为所述自定义报文头,并在替换之后,基于所述替换后客户端二层流量中的所述自定义报文头分别重新计算传输层和网络层的校验和(checksum)。需要指出的是,所述原始报文头中记录了客户端的IP地址和端口,所述自定义报文头中记录了目标终端的IP地址和端口信息,如此一来,本实施例能够在将所述客户端二层流量中的原始报文头替换为所述自定义报文头之后,获取到真实攻击者,也即目标终端的IP地址和端口信息。
步骤S13:利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
本实施例中,所述利用所述第二TUN设备将相应的处理结果封装为服务端二层流量之后,还包括:将所述服务端二层流量中的所述自定义报文头替换为所述原始报文头,由于所述原始报文头中记录了客户端的IP地址和端口,如此一来,本实施例能够将所述服务端二层流量发送至所述客户端。
可见,本申请提出了一种流量转发方法,包括:通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,感知到目标终端的特征信息。
本申请实施例公开了一种流量转发方法,应用于客户端,参见图2所示,所述方法包括:
步骤S21:通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量,并通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端,以便所述服务端对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换客户端二层流量中解析出所述原始流量,所述自定义报文头中包括目标终端的特征信息。
本实施例中,在所述通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量之前,还包括:利用预设的客户端程序对所述客户端中的物理网卡上的目标端口进行监听,并将监听到的流量确定为所述原始流量。在确定出所述原始流量之后,通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量,并通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端。
步骤S22:通过所述TCP隧道接收所述服务端返回的服务端二层流量,所述服务端二层流量为所述第二TUN设备,将预设的蜜罐程序对所述原始流量进行处理得到的处理结果进行封装得到的流量。
本实施例中,在通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端之后,通过所述TCP隧道接收所述服务端返回的服务端二层流量,所述服务端二层流量为所述第二TUN设备,将预设的蜜罐程序对所述原始流量进行处理得到的处理结果进行封装得到的流量。
步骤S23:利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
本实施例中,通过所述客户端中的所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端,也即攻击者。
可见,本申请提出一种流量转发方法,包括:通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量,并通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端,以便所述服务端对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换客户端二层流量中解析出所述原始流量,所述自定义报文头中包括目标终端的特征信息;通过所述TCP隧道接收所述服务端返回的服务端二层流量,所述服务端二层流量为所述第二TUN设备,将预设的蜜罐程序对所述原始流量进行处理得到的处理结果进行封装得到的流量;利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端;可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,感知到目标终端的特征信息。
参见图3所示,基于所述流量转发方法,在一种具体的实施方式中,本申请可以包括以下内容:
假设需要将客户端(IP地址192.168.1.123)的3306端口的流量转发到预设的数据库蜜罐(IP地址192.168.2.124)的3306端口,使蜜罐所在服务端能够等价于一台蜜罐节点。
对于客户端来说,需要伪装成蜜罐服务的节点,并存在一张物理网卡eth0、虚拟网卡tun0、虚拟网卡句柄tun0_fd以及预设的流量转发客户端程序,所述物理网卡的IP地址为:192.168.1.123,所述虚拟网卡tun0的IP地址为10.0.0.3。对于服务端来说,存在一种物理网卡eth0、虚拟网卡tun1、虚拟网卡句柄tun1_fd以及预设的流量转发服务端程序,所述物理网卡的IP地址为192.168.2.124,所述虚拟网卡tun1的IP地址为10.0.0.4。
基于上述环境配置情况,本申请具体包括:(1)通过所述流量转发客户端程序监听物理网卡eth0的3306端口,也即,等待攻击者的访问;将监听到的原始流量(本场景中为hello)输入至所述客户端中的虚拟网卡tun0中,并通过tun0_fd获得与所述原始流量对应的二层流量;将所述二层流量以及自定义报文头封装为客户端二层流量,并将所述客户端二层流量通过预先创建的tcp隧道发送至服务端的物理网卡端口,所述自定义报文头中记录了攻击者的IP地址和端口信息。(2)所述服务端在接收到所述客户端二层流量后,通过所述预设的流量转发服务端程序解析出二层流量以及自定义报文头,并将所述二层流量中的原始报文头替换为所述自定义报文头,所述原始报文头中记录了所述客户端的IP地址和端口信息,然后将替换后的所述二层流量输入至tun1_fd中,以便从虚拟网卡tun1中获取到原始流量,最后将所述原始流量输入至预设的数据库蜜罐,以便利用所述蜜罐对所述原始流量进行处理。(3)将处理结果输入至虚拟网卡tun1,以便从tun1_fd中获取与所述处理结果对应的服务端二层流量,将所述服务端二层流量中的自定义报文头替换为原始报文头,如此一来,可以通过所述tcp隧道将替换后的所述服务端二层流量发送至客户端。(4)所述客户端在接收到所述服务端二层流量后,将所述服务端二层流量输入至tun0_fd,以便从虚拟网卡tun0中获取到所述处理结果,并将所述处理结果发送至所述攻击者。
可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,感知到目标终端的特征信息。
相应的,本申请实施例还公开了一种流量转发装置,参见图4所示,该装置包括:
目标流量接收模块11,用于通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;
报文头替换模块12,用于对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;
流量转发模块13,用于利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请提出了一种流量转发方法,包括:通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。可见,本申请通过TUN设备将原始流量封装为二层流量,并将二层流量中的报文头替换为包括目标终端特征信息的自定义报文头,使得蜜罐程序可以在无需从宿主机上运行任何程序并且无需操作宿主机的iptables以及在云环境的情况下,感知到目标终端的特征信息。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26、和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的流量转发方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的流量转发方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的流量转发方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种流量转发方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种流量转发方法,其特征在于,应用于服务端,包括:
通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;
对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;
利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
2.根据权利要求1所述的流量转发方法,其特征在于,所述特征信息包括所述目标终端的IP地址和端口信息。
3.根据权利要求1所述的流量转发方法,其特征在于,所述将所述客户端二层流量中的原始报文头替换为所述自定义报文头,包括:
利用预设的服务端程序,将所述客户端二层流量中的原始报文头替换为所述自定义报文头。
4.根据权利要求1所述的流量转发方法,其特征在于,所述将所述客户端二层流量中的原始报文头替换为所述自定义报文头之后,还包括:
基于所述替换后客户端二层流量中的所述自定义报文头分别重新计算传输层和网络层的校验和。
5.根据权利要求1所述的流量转发方法,其特征在于,所述利用所述第二TUN设备将相应的处理结果封装为服务端二层流量之后,还包括:
将所述服务端二层流量中的所述自定义报文头替换为所述原始报文头。
6.一种流量转发方法,其特征在于,应用于客户端,包括:
通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量,并通过预先创建的TCP隧道,将基于所述客户端二层流量以及自定义报文头确定的目标流量发送至服务端,以便所述服务端对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换客户端二层流量中解析出所述原始流量,所述自定义报文头中包括目标终端的特征信息;
通过所述TCP隧道接收所述服务端返回的服务端二层流量,所述服务端二层流量为所述第二TUN设备,将预设的蜜罐程序对所述原始流量进行处理得到的处理结果进行封装得到的流量;
利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
7.根据权利要求6所述的流量转发方法,其特征在于,所述通过第一TUN设备将所述客户端中的目标端口上的原始流量封装为客户端二层流量之前,还包括:
利用预设的客户端程序对所述客户端中的物理网卡上的目标端口进行监听,并将监听到的流量确定为所述原始流量。
8.一种流量转发装置,其特征在于,应用于服务端,包括:
目标流量接收模块,用于通过预先创建的TCP隧道,接收客户端基于客户端二层流量以及自定义报文头发送的目标流量;所述客户端二层流量为通过第一TUN设备对所述客户端中的目标端口上的原始流量进行封装得到的流量,所述自定义报文头中包括目标终端的特征信息;
报文头替换模块,用于对所述目标流量进行解析,得到所述客户端二层流量以及所述自定义报文头,并将所述客户端二层流量中的原始报文头替换为所述自定义报文头,然后利用第二TUN设备从替换后客户端二层流量中解析出所述原始流量;
流量转发模块,用于利用预设的蜜罐程序对所述原始流量进行处理,并利用所述第二TUN设备将处理结果封装为服务端二层流量,然后通过所述TCP隧道将所述服务端二层流量发送至所述客户端,以便所述客户端在接收到所述服务端二层流量后,利用所述第一TUN设备从所述服务端二层流量中解析出所述处理结果并将所述处理结果发送至所述目标终端。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的流量转发方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的流量转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706688.XA CN114915492B (zh) | 2022-06-21 | 2022-06-21 | 一种流量转发方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706688.XA CN114915492B (zh) | 2022-06-21 | 2022-06-21 | 一种流量转发方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114915492A true CN114915492A (zh) | 2022-08-16 |
CN114915492B CN114915492B (zh) | 2024-03-05 |
Family
ID=82771728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210706688.XA Active CN114915492B (zh) | 2022-06-21 | 2022-06-21 | 一种流量转发方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114915492B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150121529A1 (en) * | 2012-09-28 | 2015-04-30 | Juniper Networks, Inc. | Dynamic service handling using a honeypot |
CN107534643A (zh) * | 2015-03-20 | 2018-01-02 | 移动熨斗公司 | 在ip vpn与传输层vpn之间转换移动业务 |
CN110636036A (zh) * | 2018-06-22 | 2019-12-31 | 复旦大学 | 一种基于SDN的OpenStack云主机网络访问控制的方法 |
CN111614541A (zh) * | 2020-06-09 | 2020-09-01 | 山东汇贸电子口岸有限公司 | 公有云网络物理主机加入vpc的方法 |
CN112995162A (zh) * | 2021-02-07 | 2021-06-18 | 深信服科技股份有限公司 | 网络流量的处理方法及装置、电子设备、存储介质 |
CN113783885A (zh) * | 2021-09-16 | 2021-12-10 | 杭州安恒信息技术股份有限公司 | 一种蜜罐网络代理方法及相关装置 |
-
2022
- 2022-06-21 CN CN202210706688.XA patent/CN114915492B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150121529A1 (en) * | 2012-09-28 | 2015-04-30 | Juniper Networks, Inc. | Dynamic service handling using a honeypot |
CN107534643A (zh) * | 2015-03-20 | 2018-01-02 | 移动熨斗公司 | 在ip vpn与传输层vpn之间转换移动业务 |
CN110636036A (zh) * | 2018-06-22 | 2019-12-31 | 复旦大学 | 一种基于SDN的OpenStack云主机网络访问控制的方法 |
CN111614541A (zh) * | 2020-06-09 | 2020-09-01 | 山东汇贸电子口岸有限公司 | 公有云网络物理主机加入vpc的方法 |
CN112995162A (zh) * | 2021-02-07 | 2021-06-18 | 深信服科技股份有限公司 | 网络流量的处理方法及装置、电子设备、存储介质 |
CN113783885A (zh) * | 2021-09-16 | 2021-12-10 | 杭州安恒信息技术股份有限公司 | 一种蜜罐网络代理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114915492B (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8498295B1 (en) | Modular lightweight tunneling mechanisms for transitioning between network layer protocols | |
US7437470B2 (en) | Tunneling IPv6 packets | |
CN111988266B (zh) | 一种处理报文的方法 | |
CN110932934B (zh) | 一种网络丢包的检测方法和装置 | |
EP3091708B1 (en) | Processing rule modification method and apparatus | |
CN113452686A (zh) | 数据处理方法、装置、代理服务器及存储介质 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
CN115174474B (zh) | 一种私有云内基于SRv6的SFC实现方法及装置 | |
CN107995321A (zh) | 一种vpn客户端代理dns的方法及装置 | |
EP3552370B1 (en) | Implementing service function chains | |
CN111147519A (zh) | 数据检测方法、装置、电子设备和介质 | |
CN114465931A (zh) | 网络探测方法、装置、电子设备及存储介质 | |
CN114095415B (zh) | 路由确定方法、装置、网关设备和存储介质 | |
CN107911496A (zh) | 一种vpn服务端代理dns的方法及装置 | |
CN113923008B (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
CN111245637B (zh) | 生成基于应用的代理自动配置 | |
CN114915492B (zh) | 一种流量转发方法、装置、设备及介质 | |
US20070147376A1 (en) | Router-assisted DDoS protection by tunneling replicas | |
CN114710560A (zh) | 数据处理方法、系统及代理设备、终端设备 | |
CN113691650A (zh) | IPv4/IPv6无状态分段安全映射方法及控制系统 | |
GB2559660B (en) | Implementing service function chains | |
WO2016037490A1 (zh) | 一种动态主机配置协议dhcp消息的处理方法及装置 | |
CN113726867B (zh) | 报文处理方法、装置及系统 | |
CN113365296B (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 |