CN108769291A - 一种报文处理方法、装置及电子设备 - Google Patents
一种报文处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108769291A CN108769291A CN201810653816.2A CN201810653816A CN108769291A CN 108769291 A CN108769291 A CN 108769291A CN 201810653816 A CN201810653816 A CN 201810653816A CN 108769291 A CN108769291 A CN 108769291A
- Authority
- CN
- China
- Prior art keywords
- client
- message
- address
- sync message
- server
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及信息处理技术领域,尤其涉及一种报文处理方法,应用于服务器,所述方法包括:接收代理端在与客户端建立连接后发送的同步报文;在所述同步报文的预设位置提取所述客户端的地址信息;将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。本申请实施例还提供了一种报文处理方法,应用于代理端,所述方法包括:在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;将所述同步报文发送给所述服务器。通过上述方法,服务器可以通过代理端对客户端的访问行为进行分析。本申请实施例还提供了一种报文处理装置及电子设备。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种报文处理方法、装置及电子设备。
背景技术
网络代理服务可以允许一个网络终端(一般为客户端)与另一个网络终端(一般为服务器)进行非直接的连接。提供网络代理服务的终端设备可以称为代理端。传统的网络代理方法中,客户端不知道代理端的存在,代理端收到客户端发送的信息后,将客户端发送的信息转发给服务器,再将服务器返回的信息转发给客户端,即代理端作为中间设备在客户端与服务器间进行信息的中转和交互。
但是,服务器收到代理端发送的信息时,无法对相应客户端的访问行为进行分析。
发明内容
有鉴于此,本申请实施例提供一种透明代理方法及装置,可以由代理服务器发送的信息中获取客户端的地址信息,从而对相应客户端的行为进行有效地分析。
本申请实施例提供了一种报文处理方法,所述方法应用于服务器,包括:
接收代理端在与客户端建立连接后发送的同步报文;
在所述同步报文的预设位置提取所述客户端的地址信息;
将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
上述技术方案中,所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述在所述同步报文的预设位置提取所述客户端的地址信息,包括:
在所述同步报文的确认号Acknowledgment Number字段中获取所述客户端的IP地址,并在所述同步报文的紧急指针Urgent Pointer字段中获取所述客户端的端口地址。
上述技术方案中,所述源地址字段包括源网络互连协议IP地址字段及源端口地址字段;所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,包括:
将所述源IP地址字段对应的内容更改为所述客户端的IP地址,以及将所述源端口地址字段对应的内容更改为所述客户端的端口地址。
上述技术方案中,所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息之前,还包括:
在所述同步报文的源地址字段中,获取所述代理端的地址信息;
针对更改后的所述同步报文进行处理,包括:
生成与更改后的所述同步报文对应的确认报文,并将所述确认报文中的目标地址字段对应的内容由所述客户端的地址信息更改为所述代理端的地址信息;
将所述确认报文反馈给所述代理端。
上述技术方案中,所述将所述确认报文反馈给所述代理端之后,还包括:
接收所述代理端发送的携带有客户端数据的数据报文;
将所述数据报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述数据报文进行处理。
本申请实施例提供了一种报文处理方法,所述方法应用于服务器的代理端,包括:
在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
将所述同步报文发送给所述服务器。
本申请实施例还提供了一种报文处理装置,应用于服务器,包括:接收模块、提取模块和处理模块;其中,
所述接收模块,用于接收代理端在与客户端建立连接后发送的同步报文;
所述提取模块,用于在所述同步报文的预设位置提取所述客户端的地址信息;
所述处理模块,用于将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
本申请实施例还提供了一种报文处理装置,应用于服务器的代理端中,包括:接收模块、提取模块和处理模块;其中,
生成模块,用于在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
发送模块,用于将所述同步报文发送给所述服务器。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法中的步骤。
采用上述方案,服务器可以接收代理端发送的携带有客户端地址信息的同步报文,从而可以在同步报文的预设位置提取客户端的地址信息,并将同步报文的源地址字段对应的内容更改为所述客户端的地址信息,从而服务器可以针对更改后的同步报文进行处理。这样,服务器在对更改后的同步报文进行处理时,由于同步报文的源地址字段为客户端的地址信息,服务器可以认为该同步报文来自于客户端,进而可以根据客户端的地址信息对该客户端的请求行为进行分析,实现代理端的透明代理。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的报文处理方法流程图;
图2示出了本申请实施例所提供的TCP头部的结构示意图;
图3示出了本申请实施例所提供的IP头部的结构示意图;
图4示出了本申请实施例所提供的报文处理方法流程图;
图5示出了本申请实施例所提供的报文处理方法的具体流程图;
图6示出了本申请实施例所提供的报文处理装置的结构示意图;
图7示出了本申请实施例所提供的报文处理装置的结构示意图;
图8示出了本申请实施例所提供的电子设备的结构示意图;
图9示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。以下对本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例下述方法、装置、电子设备或计算机存储介质可以应用于任何需要进行报文处理的场景,比如,可以应用于部署在服务器的代理软件或应用等。本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的方法进行透明代理的方案均在本申请保护范围内。
本申请实施例中,代理端可以在与客户端建立连接之后,向服务器发送携带有客户端地址信息的同步报文。服务器中的代理应用可以获取代理端发送的同步报文,并根据与代理端预先协商的预设位置,在同步报文中获取客户端的地址信息。在获取客户端的地址信息之后,代理应用可以将同步报文的源地址字段更改为客户端的地址信息,从而服务器的内核在对同步报文进行处理时,由于同步报文的源地址被更改为客户端的地址信息,服务器的内核接收的同步报文可以等同于来自客户端的同步报文,进而服务器的内核可以根据接收的同步报文分析客户端的访问行为。如果代理端向服务器发送未修改的同步报文,那么同步报文的源地址字段为代理端的地址信息,服务器在接收到同步报文时,仅可以在同步报文中获取代理端的地址信息,无法分辨该同步报文的访问行为的来源,更不会根据该同步报文对客户端的访问行为进行分析。通过本申请实施提供的技术方案,可以使服务器获取客户端的地址信息,实现代理端的透明代理。下面下述实施例将会对透明代理过程作详细说明。
如图1所示,为本申请实施例提供的一种透明代理方法,包括:
S101:接收代理端在与客户端建立连接后发送的同步报文。
在具体实施中,代理端可以与客户端通过三次握手的方式建立连接。具体如,客户端向代理端发送携带有同步序列编号(Synchronize Sequence Numbers,SYN)字段的同步报文,与代理端进行第一次握手。代理端在接收到客户端发送的同步报文之后,向客户端返回携带有SYN字段和确认(Acknowledgement,ACK)字段的确认报文,与客户端进行第二次握手。客户端在收到携带有SYN字段和ACK字段的确认报文之后,向攻击防护端发送携带有ACK字段的确认报文,与攻击防护端进行第三次握手。在客户端与代理端进行第三次握手时,可以在确认报文中携带需要向服务器发送的数据。一些实施例中,客户端还可以在与代理端第二次握手之后,直接向攻击防护端发送需要向服务器发送的数据。在代理端在与客户端建立连接之后,代理端可以向服务器发送同步报文,并在同步报文的预设位置携带客户端的地址信息,进而服务器可以接收代理端在与客户端建立连接之后发送的同步报文。
这里,代理端可以为服务器、终端等电子设备。客户端的地址信息可以包括网络互连协议(Internet Protocol,IP)地址和端口地址,其中,端口地址即端口号。
S102:在所述同步报文的预设位置提取所述客户端的地址信息。
这里,服务器可以部署有代理应用,服务器的代理应用可以针对预设位置预先与代理端进行协商,从而服务器可以在代理端发送的同步报文的预设位置,获取客户端的地址信息。
在具体实施中,服务器在同步报文的预设位置提取客户端的地址信息时,可以在同步报文的确认号Acknowledgment Number字段中提取客户端的IP地址,并在同步报文的紧急指针Urgent Pointer字段中提取客户端的端口地址。同步报文的确认号字段位于同步报文的传输控制协议(Transmission Control Protocol,TCP)头部中,TCP头部的结构如图2所示,代理端将客户端的IP地址携带在同步报文的确认号字段中。同步报文的紧急指针字段位于同步报文的IP头部中,IP头部的结构如图3所示,代理端将客户端的端口号携带在同步报文的紧急指针字段中。服务器的代理应用在同步报文的预设位置获取客户端的地址信息之后,可以对客户端的地址信息进行保存,这样可以随时获取客户端的地址信息。
需要说明的是,在代理端将客户端的地址信息携带在同步报文中之前,同步报文的确认号字段与紧急指针字段为未被利用的字段,因此,代理端可以将客户端的地址信息存放在同步报文的确认号字段与紧急指针字段中,这样不会影响同步报文中的其他数据。
S103:将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
在具体实施中,服务器的代理应用在同步报文的预设位置获取客户端的地址信息之后,可以在同步报文的源地址字段获取代理端的地址信息,具体如,可以在同步报文的源IP地址字段获取代理端的IP地址,在同步报文的源端口地址获取代理端的端口地址,并保存代理端的IP地址以及端口地址。服务器的代理应用在获取代理端的地址信息之后,可以将同步报文的源地址字段对应的内容更改为客户端的地址信息,即将源IP地址字段对应的内容更改为客户端的IP地址,并且将源端口地址字段对应的内容更改为客户端的端口地址。服务器的代理应用在将同步报文的源地址字段对应的内容更改为客户端的地址信息之后,可以将更改后的同步报文传递至服务器的内核进行处理。这样服务器的内核在对更改后的同步报文进行处理时,由于更改后的同步报文的源地址字段对应的内容为客户端的地址信息,服务器的内核可以认为接收的同步报文来自客户端,进而可以记录客户端的地址信息以及该客户端相关的访问请求,从而分析客户端的访问行为,并生成与更改后的同步报文对应的确认报文。在服务器的内核生成确认报文之后,服务器的代理应用可以将确认报文中的目标地址字段对应的内容由客户端的地址信息更改为所述代理端的地址信息,这样由于确认报文的目的地址字段的内容为代理端的地址信息,从而确认报文可以反馈给代理端。
代理端在收到服务器返回的确认报文之后,可以向服务器发送携带有ACK字段和客户端数据的数据报文。服务器的代理应用在收到代理端发送的数据报文之后,可以根据保存的客户端的地址信息以及代理端的地址信息,将数据报文的源地址字段对应的内容更改为客户端的地址信息,并将更改后的数据报文传递至服务器的内核,服务器的内核可以针对更改后的数据报文进行处理,从而可以分析客户端的访问行为。
这里,服务器的代理应用在更改数据报文时,可以将数据报文的源IP地址字段更改为客户端的IP地址,并将数据报文的源端口地址字段更改为客户端的端口地址。服务器的内核在对更改后的数据报文进行处理之后,可以针对更改的数据报文请求的内容返回携带有确认字段以及客户端请求的数据的通信报文。服务器的代理应用根据存储的代理端的地址信息,将服务器的内核生成的通信报文的目标地址字段对应的内容,由客户端的地址信息更改为代理端的地址信息,即将通信报文的目标IP地址更改为代理端的IP地址,并将通信报文的目标端口地址更改为代理端的端口地址,从而服务器可以将更改目标地址之后的通信报文发送至代理端。代理端在接收到通信报文之后,可以将通信报文转发给客户端,这样客户端可以由通信报文中获取请求的数据。
通过上述报文处理的方法,服务器的代理应用可以将同步报文的源地址字段更改为客户端的地址信息,从而服务器的内核在对同步报文进行处理时,由于同步报文的源地址被更改为客户端的地址信息,服务器的内核接收的同步报文可以等同于来自客户端的同步报文,进而服务器的内核可以根据接收的同步报文分析客户端的访问行为,实现代理端的透明代理。
如图4所示,本申请实施例还提供了一种报文处理的方法,应用于代理端,包括:
S401:在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文。
在具体实施中,代理端可以与客户端通过三次握手的方式建立连接。具体如,客户端向代理端发送携带有同步序列编号(Synchronize Sequence Numbers,SYN)字段的同步报文,与代理端进行第一次握手。代理端在接收到客户端发送的同步报文之后,向客户端返回携带有SYN字段和确认(Acknowledgement,ACK)字段的确认报文,与客户端进行第二次握手。客户端在收到携带有SYN字段和ACK字段的确认报文之后,向攻击防护端发送携带有ACK字段的确认报文,与攻击防护端进行第三次握手。在客户端与代理端进行第三次握手时,可以在确认报文中携带需要向服务器发送的数据。一些实施例中,客户端还可以在与代理端第二次握手之后,直接向攻击防护端发送需要向服务器发送的数据。在代理端在与客户端建立连接之后,代理端可以向服务器发送同步报文,并在同步报文的预设位置携带客户端的地址信息,进而服务器可以接收代理端在与客户端建立连接之后发送的同步报文。
这里,代理端可以为服务器、终端等电子设备。客户端的地址信息可以包括网络互连协议(Internet Protocol,IP)地址和端口地址,其中,端口地址即端口号。代理端在生成同步报文时,可以在同步报文的确认号Acknowledgment Number字段处携带客户端的IP地址,并在同步报文的紧急指针Urgent Pointer字段处携带客户端的端口地址。
S402:将所述同步报文发送给所述服务器。
这里,代理端可以将携带有客户端地址信息的同步报文发送给服务器,这样,服务器可以在接收的同步报文中获取客户端的地址信息,从而分析客户端的请求行为。
在具体实施中,代理端在将同步报文发送给服务器之后,服务器的代理应用可以在同步报文的预设位置获取客户端的地址信息,将同步报文的源地址字段的内容更改为客户端的地址信息,并将修改后的同步报文传输至服务器的内核。服务器的内核针对更改后的同步报文生成确认报文,服务器的代理程序将确认报文的目的地址字段的内容更改为代理端的地址信息,服务器将更改后的确认报文发送至代理端。
代理端接收到服务器发送的确认报文之后,向服务器发送携带有ACK字段及客户端通信数据DATA的数据报文。服务器接收到代理端发送的携带有ACK字段及客户端DATA的请求报文之后,服务器的代理应用根据保存客户端的地址信息,将数据报文的源地址字段的内容修改为客户端的地址信息。服务器的内核根据更改后的数据报文,生成目的地址字段为客户端的地址信息的通信报文,服务器的代理应用根据保存的代理端的地址信息,将通信报文的目的地址字段的内容更改为代理端的地址信息,服务器将更改后的通信报文发送给代理端。
代理端接收到服务器返回的通信报文之后,向客户端转发该通信报文。
通过上述报文处理的方法,服务器的代理应用可以将同步报文的源地址字段更改为客户端的地址信息,从而服务器的内核在对同步报文进行处理时,由于同步报文的源地址被更改为客户端的地址信息,服务器的内核接收的同步报文可以等同于来自客户端的同步报文,进而服务器的内核可以根据接收的同步报文分析客户端的访问行为,实现代理端的透明代理。
如图5所示,本申请实施例还提供了一种报文处理方法,包括:
S501:客户端发送携带有SYN字段的同步报文,请求与服务器进行通信。
这里,客户端可以使用TCP协议或IP协议发送同步报文,发起第一次握手。客户端在发起第一握手时,请求与服务器进行连接,但是由于代理端的存在,客户端发送的同步报文不会直接到达服务器,而是到达代理端,由代理端与客户端连接。因此,客户端在第一次握手时,是与代理端进行握手。
S502:代理端接收客户端发送同步报文,向客户端返回携带有SYN字段和ACK字段的确认报文,与客户端进行第二次握手。
S503:客户端在收到携带有SYN字段和ACK字段的确认报文之后,向代理端发送携带有ACK字段及通信数据DATA的数据报文。
S504:代理端接收客户端发送的携带有ACK字段及通信数据DATA的数据报文,将客户端的地址信息携带在向服务器发送的同步报文的预设位置。
这里,预设位置可以为同步报文的确认号字段以及紧急指针字段。具体地,代理端可以将客户端的IP地址携带在同步报文的确认号字段中,并且将客户端的端口地址携带在同步报文的紧急指针字段中。
S505:服务器的代理应用获取代理端发送的同步报文,在同步报文的预设位置获取客户端的地址信息,将同步报文的源地址字段的内容更改为客户端的地址信息,并将修改后的同步报文传输至服务器的内核。
具体实施中,服务器的代理应用可以在确认号字段提取客户端的IP地址,并在同步报文的紧急指针字段提取客户端的端口地址,并将同步报文的源IP地址字段对应的内容更改为客户端的IP地址,以及将同步报文的源端口地址字段对应的内容更改为客户端的端口地址。
S506:服务器的内核针对更改后的同步报文生成确认报文,服务器的代理程序将确认报文的目的地址字段的内容更改为代理端的地址信息,服务器将更改后的确认报文发送至代理端。
在具体实施中,服务器的代理程序将确认报文的目的IP地址字段更改为代理端的IP地址,将确认报文的端口地址字段更改为代理端的端口地址。
S507:代理端接收到服务器发送的确认报文之后,向服务器发送携带有ACK字段及客户端通信数据DATA的数据报文。
S508:服务器接收到代理端发送的携带有ACK字段及客户端DATA的请求报文之后,服务器的代理应用根据保存客户端的地址信息,将数据报文的源地址字段的内容修改为客户端的地址信息。
具体实施中,服务器的代理应用将数据报文的源IP地址字段更给为客户端的IP地址,并将数据报文的源端口地址字段更改为客户端的端口地址。
S509:服务器的内核根据更改后的数据报文,生成目的地址字段为客户端的地址信息的通信报文,服务器的代理应用根据保存的代理端的地址信息,将通信报文的目的地址字段的内容更改为代理端的地址信息,服务器将更改后的通信报文发送给代理端。
在具体实施中,服务器的代理应用将通信报文的目的IP地址字段由客户端的IP地址更改为代理端的IP地址,并将通信报文的目的端口地址字段由客户端的端口地址更改为代理端的端口地址。
S510:代理端接收到服务器返回的通信报文之后,向客户端转发该通信报文。
通过上述报文处理的方法,服务器的代理应用可以将同步报文的源地址字段更改为客户端的地址信息,从而服务器的内核在对同步报文进行处理时,由于同步报文的源地址被更改为客户端的地址信息,服务器的内核接收的同步报文可以等同于来自客户端的同步报文,进而服务器的内核可以根据接收的同步报文分析客户端的访问行为,实现代理端的透明代理。
如图6所示,本申请实施例还提供了一种报文处理装置60,包括:应用于服务器,包括:接收模块61、提取模块62和处理模块63。
所述接收模块61,用于接收代理端在与客户端建立连接后发送的同步报文;
所述提取模块62,用于在所述同步报文的预设位置提取所述客户端的地址信息;
所述处理模块63,用于将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
采用上述报文处理装置60,可以将同步报文的源地址字段更改为客户端的地址信息,从而服务器的内核在对同步报文进行处理时,由于同步报文的源地址被更改为客户端的地址信息,服务器的内核接收的同步报文可以等同于来自客户端的同步报文,进而服务器的内核可以根据接收的同步报文分析客户端的访问行为,实现代理端的透明代理。
在本申请实施例中,所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述提取模块62,具体用于在所述同步报文的确认号Acknowledgment Number字段中提取所述客户端的IP地址,并在所述同步报文的紧急指针Urgent Pointer字段中提取所述客户端的端口地址。
进一步地,所述源地址字段包括源网络互连协议IP地址字段及源端口地址字段;所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述处理模块63,具体用于将所述源IP地址字段对应的内容更改为所述客户端的IP地址,以及将所述源端口地址字段对应的内容更改为所述客户端的端口地址。
进一步地,所述装置60还包括,获取模块64,用于在所述同步报文的源地址字段中,获取所述代理端的地址信息;
所述处理模块63,具体用于生成与更改后的所述同步报文对应的确认报文,并将所述确认报文中的目标地址字段对应的内容由所述客户端的地址信息更改为所述代理端的地址信息;并将所述确认报文反馈给所述代理端。
可选地,所述接收模块61,还用于接收所述代理端发送的携带有客户端数据的数据报文;
所述处理模块63,还用于将所述数据报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述数据报文进行处理。
通过上述报文处理装置60,服务器在对更改后的同步报文进行处理时,由于同步报文的源地址字段为客户端的地址信息,服务器可以认为该同步报文来自于客户端,进而可以根据客户端的地址信息对该客户端的请求行为进行分析,实现代理端的透明代理。
本申请实施例还提供了一种报文处理装置70,应用于服务器的代理端中,包括:生成模块71和发送模块72;其中,
生成模块71,用于在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
发送模块72,用于将所述同步报文发送给所述服务器。
在具体实施中,报文处理装置70在生成同步报文时,可以在同步报文的确认号Acknowledgment Number字段处携带客户端的IP地址,并在同步报文的紧急指针UrgentPointer字段处携带客户端的端口地址。
通过上述报文处理装置70,服务器可以将携带有客户端地址信息的同步报文发送给服务器,这样,服务器可以在接收的同步报文中获取客户端的地址信息,从而分析客户端的请求行为。。
如图8所示,本申请实施例还提供了一种电子设备80,包括:处理器81、存储器82和总线83;
所述存储器存储82有所述处理器81可执行的机器可读指令,当电子设备运行时,所述处理器81与所述存储器82之间通过总线83通信,所述机器可读指令被所述处理器81执行时执行如下处理:
接收代理端在与客户端建立连接后发送的同步报文;
在所述同步报文的预设位置提取所述客户端的地址信息;
将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
在具体实施中,上述处理器81执行的处理中,所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述在所述同步报文的预设位置提取所述客户端的地址信息,包括:
在所述同步报文的确认号Acknowledgment Number字段中提取所述客户端的IP地址,并在所述同步报文的紧急指针Urgent Pointer字段中提取所述客户端的端口地址。
在具体实施中,上述处理器81执行的处理中,所述源地址字段包括源网络互连协议IP地址字段及源端口地址字段;所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,包括:
将所述源IP地址字段对应的内容更改为所述客户端的IP地址,以及将所述源端口地址字段对应的内容更改为所述客户端的端口地址。
在具体实施中,上述处理器81执行的处理中,所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息之前,还包括:
在所述同步报文的源地址字段中,获取所述代理端的地址信息;
针对更改后的所述同步报文进行处理,包括:
生成与更改后的所述同步报文对应的确认报文,并将所述确认报文中的目标地址字段对应的内容由所述客户端的地址信息更改为所述代理端的地址信息;
将所述确认报文反馈给所述代理端。
在具体实施中,上述处理器81执行的处理中,所述将所述确认报文反馈给所述代理端之后,还包括:
接收所述代理端发送的携带有客户端数据的数据报文;
将所述数据报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述数据报文进行处理。
如图9所示,本申请实施例还提供了一种电子设备90,包括:处理器91、存储器92和总线93;
所述存储器存储92有所述处理器91可执行的机器可读指令,当电子设备运行时,所述处理器91与所述存储器92之间通过总线93通信,所述机器可读指令被所述处理器91执行时执行如下处理:
在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
将所述同步报文发送给所述服务器。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一实施例报文处理方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述报文处理方法,从而解决目前服务器收到代理端发送的信息时,无法对相应客户端的访问行为进行分析的问题,进而为实现透明代理。
本申请实施例所提供的报文处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种报文处理方法,其特征在于,所述方法应用于服务器,包括:
接收代理端在与客户端建立连接后发送的同步报文;
在所述同步报文的预设位置提取所述客户端的地址信息;
将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述在所述同步报文的预设位置提取所述客户端的地址信息,包括:
在所述同步报文的确认号Acknowledgment Number字段中提取所述客户端的IP地址,并在所述同步报文的紧急指针Urgent Pointer字段中提取所述客户端的端口地址。
3.根据权利要求1所述的方法,其特征在于,所述源地址字段包括源网络互连协议IP地址字段及源端口地址字段;所述客户端的地址信息包括网络互连协议IP地址和端口地址;
所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,包括:
将所述源IP地址字段对应的内容更改为所述客户端的IP地址,以及将所述源端口地址字段对应的内容更改为所述客户端的端口地址。
4.根据权利要求1所述的方法,其特征在于,所述将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息之前,还包括:
在所述同步报文的源地址字段中,获取所述代理端的地址信息;
针对更改后的所述同步报文进行处理,包括:
生成与更改后的所述同步报文对应的确认报文,并将所述确认报文中的目标地址字段对应的内容由所述客户端的地址信息更改为所述代理端的地址信息;
将所述确认报文反馈给所述代理端。
5.根据权利要求4所述的方法,其特征在于,所述将所述确认报文反馈给所述代理端之后,还包括:
接收所述代理端发送的携带有客户端数据的数据报文;
将所述数据报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述数据报文进行处理。
6.一种报文处理方法,其特征在于,所述方法应用于服务器的代理端,包括:
在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
将所述同步报文发送给所述服务器。
7.一种报文处理装置,其特征在于,应用于服务器,包括:接收模块、提取模块和处理模块;其中,
所述接收模块,用于接收代理端在与客户端建立连接后发送的同步报文;
所述提取模块,用于在所述同步报文的预设位置提取所述客户端的地址信息;
所述处理模块,用于将所述同步报文的源地址字段对应的内容更改为所述客户端的地址信息,并针对更改后的所述同步报文进行处理。
8.一种报文处理装置,其特征在于,应用于服务器的代理端中,包括:生成模块和发送模块;其中,
生成模块,用于在与客户端建立通信连接后,生成在预设位置携带有所述客户端的地址信息的同步报文;
发送模块,用于将所述同步报文发送给所述服务器。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1~5任一所述方法的步骤,以及执行如权利要求6所述方法的步骤。
10.一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1~5任一所述方法的步骤,以及执行如权利要求6所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653816.2A CN108769291A (zh) | 2018-06-22 | 2018-06-22 | 一种报文处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653816.2A CN108769291A (zh) | 2018-06-22 | 2018-06-22 | 一种报文处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108769291A true CN108769291A (zh) | 2018-11-06 |
Family
ID=63976806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810653816.2A Pending CN108769291A (zh) | 2018-06-22 | 2018-06-22 | 一种报文处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769291A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110519002A (zh) * | 2019-09-27 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种时间同步方法及相关装置 |
CN112671869A (zh) * | 2020-12-15 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 网桥透明代理方法、装置、电子设备及存储介质 |
CN113014490A (zh) * | 2021-02-25 | 2021-06-22 | 杭州迪普科技股份有限公司 | 一种ip报文转发方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1659761A1 (en) * | 2004-11-18 | 2006-05-24 | THOMSON Licensing | Address translation method for unicast stream and device implementing the method |
CN101068208A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种动态分配网络地址的方法、系统及代理设备 |
CN102075445A (zh) * | 2011-02-28 | 2011-05-25 | 杭州华三通信技术有限公司 | 负载均衡方法及装置 |
CN102255932A (zh) * | 2010-05-20 | 2011-11-23 | 百度在线网络技术(北京)有限公司 | 负载均衡方法和负载均衡器 |
CN105554065A (zh) * | 2015-12-03 | 2016-05-04 | 华为技术有限公司 | 处理报文的方法、转换单元和应用单元 |
-
2018
- 2018-06-22 CN CN201810653816.2A patent/CN108769291A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1659761A1 (en) * | 2004-11-18 | 2006-05-24 | THOMSON Licensing | Address translation method for unicast stream and device implementing the method |
CN101068208A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种动态分配网络地址的方法、系统及代理设备 |
CN102255932A (zh) * | 2010-05-20 | 2011-11-23 | 百度在线网络技术(北京)有限公司 | 负载均衡方法和负载均衡器 |
CN102075445A (zh) * | 2011-02-28 | 2011-05-25 | 杭州华三通信技术有限公司 | 负载均衡方法及装置 |
CN105554065A (zh) * | 2015-12-03 | 2016-05-04 | 华为技术有限公司 | 处理报文的方法、转换单元和应用单元 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110519002A (zh) * | 2019-09-27 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种时间同步方法及相关装置 |
CN112671869A (zh) * | 2020-12-15 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 网桥透明代理方法、装置、电子设备及存储介质 |
CN112671869B (zh) * | 2020-12-15 | 2023-01-10 | 北京天融信网络安全技术有限公司 | 网桥透明代理方法、装置、电子设备及存储介质 |
CN113014490A (zh) * | 2021-02-25 | 2021-06-22 | 杭州迪普科技股份有限公司 | 一种ip报文转发方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131544B (zh) | 一种实现nat穿越的方法 | |
US9246819B1 (en) | System and method for performing message-based load balancing | |
EP2469792B1 (en) | Data transmission system and method using relay server | |
EP3223481A1 (en) | Packet processing method and device | |
CN103297270A (zh) | 应用类型识别方法及网络设备 | |
JP7023989B2 (ja) | 転送エントリの生成 | |
CN109951359B (zh) | 分布式网络资产异步扫描方法及设备 | |
CN108769291A (zh) | 一种报文处理方法、装置及电子设备 | |
CN101304436A (zh) | 实现应用层会话持续性的负载均衡方法、系统及设备 | |
CN108322530A (zh) | 上下文环境信息的传递方法、装置、服务网关及存储介质 | |
US20140105226A1 (en) | Communications over multiple protocol interfaces in a computing environment | |
CN108156223A (zh) | 一种基于websocket的消息精准推送系统及方法 | |
CN104506450A (zh) | 媒体资源反馈方法及装置 | |
CN113691589A (zh) | 报文传输方法、装置及系统 | |
CN112929411A (zh) | 一种分布式文件传输方法、服务器及私有云设备 | |
CN109150844B (zh) | 确定数字证书的方法、装置和系统 | |
CN107147497B (zh) | 信息处理方法和装置 | |
EP3413520B1 (en) | Terminal, relay device selection device, communication method, relay device selection method, and program | |
CN110099138A (zh) | 一种处理带vlan tag的dhcp数据的方法及系统 | |
JP2017010388A5 (zh) | ||
CN109286665B (zh) | 实时移动游戏长链接处理方法及装置 | |
CN115348333A (zh) | 基于udp双端通信交互的数据传输方法、系统及设备 | |
US20140068081A1 (en) | Transfer device, and transfer method | |
KR101108028B1 (ko) | 복수의 세션을 이용한 공동작업 방법 및 그 시스템 | |
TWI600298B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |