CN104023036A - Tcp旁路阻断方法和装置 - Google Patents

Tcp旁路阻断方法和装置 Download PDF

Info

Publication number
CN104023036A
CN104023036A CN201410295161.8A CN201410295161A CN104023036A CN 104023036 A CN104023036 A CN 104023036A CN 201410295161 A CN201410295161 A CN 201410295161A CN 104023036 A CN104023036 A CN 104023036A
Authority
CN
China
Prior art keywords
bypass
handshake
jamming equipment
server
client
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
CN201410295161.8A
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 Blue It Technologies Co ltd
Original Assignee
Beijing Blue It Technologies 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 Blue It Technologies Co ltd filed Critical Beijing Blue It Technologies Co ltd
Priority to CN201410295161.8A priority Critical patent/CN104023036A/zh
Publication of CN104023036A publication Critical patent/CN104023036A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种TCP旁路阻断方法和装置。其中,该TCP旁路阻断方法通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,该TCP旁路阻断方法包括:旁路干扰设备获取来自客户端的第一次握手信号;旁路干扰设备根据第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号不同。通过本发明,解决了现有技术中阻断客户端与服务器之间传输数据包不稳定的问题,进而达到了提高阻断客户端与服务器之间传输数据包的稳定性效果。

Description

TCP旁路阻断方法和装置
技术领域
本发明涉及通信领域,具体而言,涉及一种TCP旁路阻断方法和装置。
背景技术
众所周知,在客户端与服务器之间部署监听设备,在利用传输控制协议(Transmission Control Protocol,简称TCP)建立客户端和服务器之间的连接后,伪造RST(TCP首部中六个标记比特之一,表示重置连接、复位连接)数据向客户端或者服务器发送RST报文使客户端和服务器的连接断开,从而达到阻断客户端与服务器进行通信的目的。
现有的TCP阻断方法,是利用TCP在客户端和服务器之间建立连接后传输数据时伪造RST的方式实现的数据阻断,但是这种方法很容易被破解而造成阻断失效。
针对现有技术中阻断客户端与服务器之间数据包的传输不稳定问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种TCP旁路阻断方法和装置,以解决现有技术中阻断客户端与服务器之间数据包的传输容易失效的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种TCP旁路阻断方法。根据本发明的TCP旁路阻断方法包括:通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,TCP旁路阻断方法包括:旁路干扰设备获取来自客户端的第一次握手信号;旁路干扰设备根据第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,服务器根据第一次握手信号生成来自服务器的第二次握手信号,来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号不同。
进一步地,旁路干扰设备配置有阻断策略,其中,阻断策略用于确定进行数据阻断的服务器和客户端,在旁路干扰设备获取来自客户端的第一次握手信号之前,TCP旁路阻断方法还包括:旁路干扰设备获取来自客户端的数据包;旁路干扰设备分析数据包,得到分析结果;旁路干扰设备根据分析结果检测客户端是否与阻断策略相匹配;以及旁路干扰设备如果判断出客户端与阻断策略匹配,则旁路干扰设备将数据包作为待获取的第一次握手信号的数据包。
进一步地,旁路干扰设备分析数据包,得到分析结果包括:旁路干扰设备分析数据包,得到数据包的源IP、目的IP、源端口、目的端口、第一次握手信号中的初始序号和数据包的SYN标记,旁路干扰设备根据第一次握手信号生成第二次握手信号包括:添加ACK标记,保留SYN标记;根据第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换源IP和目的IP,交换源端口和目的端口,得到交换数据包,并计算得到校验和;根据SYN标记、ACK标记、应答序号、来自旁路干扰设备的初始序号、交换数据包和校验和得到来自旁路干扰设备的第二次握手信号。
进一步地,旁路干扰设备获取第一次握手信号的数据包包括:旁路干扰设备获取来自客户端的数据包;旁路干扰设备判断数据包是否有第一次握手信号;以及旁路干扰设备如果判断出数据包有第一次握手信号,则获取数据包作为第一次握手信号的数据包。
进一步地,TCP旁路阻断方法还包括:服务器接收来自客户端的第三次握手信号,其中,第三次握手信号包括根据来自旁路干扰设备的第二次握手信号生成的应答序号;服务器判断第三次握手信号中的应答序号与来自服务器的第二次握手信号中的应答序号是否匹配;以及服务器如果判断出第三次握手信号中的应答序号与来自服务器的第二次握手信号中的应答序号不匹配,则服务器不响应第三次握手信号。
为了实现上述目的,根据本发明的另一方面,提供了一种TCP旁路阻断装置。根据本发明的TCP旁路阻断装置包括:通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,TCP旁路阻断装置包括:第一获取单元,用于使得旁路干扰设备获取来自客户端的第一次握手信号;第一生成单元,用于使得旁路干扰设备根据第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及发送单元,用于使得旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,服务器根据第一次握手信号生成来自服务器的第二次握手信号,来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号不同。
进一步地,旁路干扰设备配置有阻断策略,其中,阻断策略用于确定进行数据阻断的服务器和客户端,TCP旁路阻断装置还包括:第二获取单元,用于在旁路干扰设备获取来自客户端的第一次握手信号之前,使得旁路干扰设备获取来自客户端的数据包;分析单元,用于使得旁路干扰设备分析数据包,得到分析结果;检测单元,用于使得旁路干扰设备根据分析结果检测客户端是否与阻断策略相匹配;以及第二生成单元,用于在旁路干扰设备判断出客户端与阻断策略匹配时,使得旁路干扰设备将数据包作为待获取的第一次握手信号的数据包。
进一步地,分析单元还用于使得旁路干扰设备分析得到数据包的源IP、目的IP、源端口、目的端口、第一次握手信号中的初始序号和数据包的SYN标记,第一生成单元包括:添加模块,用于添加ACK标记,保留SYN标记;生成模块,用于根据第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换模块,用于交换源IP和目的IP,交换源端口和目的端口,得到交换数据包,并计算得到校验和;确认模块,用于SYN标记、ACK标记、应答序号、来自旁路干扰设备的初始序号、交换数据包和校验和得到来自旁路干扰设备的第二次握手信号。
进一步地,第二获取单元包括:第二获取模块,用于使得旁路干扰设备获取来自客户端的数据包;判断模块,用于使得旁路干扰设备判断数据包是否有第一次握手信号;以及第三获取模块,用于在旁路干扰设备判断出数据包有第一次握手信号时,获取来自客户端的数据包作为第一次握手信号的数据包。
进一步地,TCP旁路阻断装置还包括:接收单元,用于使得服务器接收来自客户端的第三次握手信号,其中,第三次握手信号包括根据来自旁路干扰设备的第二次握手信号生成的应答序号;判断单元,用于使得服务器判断第三次握手信号中的应答序号与来自服务器的第二次握手信号中的应答序号是否匹配;以及响应单元,用于在服务器判断出第三次握手信号中的应答序号与来自服务器的第二次握手信号中的应答序号不匹配时,使得服务器不响应第三次握手信号
通过本发明,采用一种TCP旁路阻断方法,其特征在于,通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,TCP旁路阻断方法包括:旁路干扰设备获取来自客户端的第一次握手信号;旁路干扰设备根据第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,服务器根据第一次握手信号生成来自服务器的第二次握手信号,解决了现有技术中阻断客户端与服务器之间传输数据包不稳定的问题,进而达到了提高阻断客户端与服务器之间传输数据包的稳定性效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的TCP旁路阻断方法的流程图;
图2是根据本发明第二实施例的TCP旁路阻断方法的流程图;
图3是根据本发明第三实施例的TCP旁路阻断方法的流程图;
图4是根据本发明第一实施例的TCP旁路阻断装置的示意图;
图5是根据本发明第三实施例的TCP旁路阻断装置的示意图;以及
图6是根据本发明第三实施例的TCP旁路阻断装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供了一种TCP旁路阻断方法。该旁路阻断方法能够对服务器和客户端之间的通信进行阻断。为了便于理解本发明的技术方案,首先介绍客户端和服务器之间如何建立通信。客户端和服务器之间采用三次握手建立一个连接。
第一次握手:客户端向服务器发起SYN请求(SYN=j),并等待服务器确认。
第二次握手:服务器收到客户端发送的SYN请求,对客户端的SYN请求进行应答(SYN=k),并向客户端发送ACK包(ACK=j+1),即向客户端发送SYN+ACK包。
第三次握手:客户端接收服务器的SYN+ACK包,并向服务器发送确认包ACK(ACK=k+1)。
在服务器接收到第三次握手时客户端发送的确认包之后,即完成了三次握手,客户端和服务器之间开始传输数据。
本发明实施例通过旁路阻断设备,在客户端和服务器进行握手的期间,监听客户端的握手信号,伪造服务器的应答包,从而破坏客户端的序号识别机制,使得客户端和服务器之间无法完成通信,达到了阻断客户端和服务器通信的目的。
以下结合附图对本发明的具体实施方式进行说明。
图1是根据本发明第一实施例的TCP旁路阻断方法的流程图。如图所示,该TCP旁路阻断方法通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,该TCP旁路阻断方法包括如下步骤:
步骤S102,旁路干扰设备获取来自客户端的第一次握手信号。
旁路干扰设备旁接在客户端和服务器之间,旁接设备旁接的地理位置可以在客户端和服务器之间,例如,客户端在北京,服务器在广州,那么旁路干扰设备可能位于北京到广州的途经节点上进行监听,旁接而非串接在北京至广州的网络中。
旁路干扰设备能够在客户端和服务器进行通信时监听客户端的握手信号。客户端向服务器发送第一次握手信号,第一次握手信号携带初始序号ISNa。旁路干扰设备监听到客户端的第一次握手信号之后,获取来自客户端的第一次握手信号。
步骤S104,旁路干扰设备根据第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号。
旁路干扰设备获取到第一次握手信号之后,根据第一次握手信号随机生成第二次握手信号的初始信号,即旁路干扰设备伪造第二次握手信号作为服务器的第二次握手信号,来自旁路干扰设备的第二次握手信号携带的应答序号为ISNa+1,随机的初始序号为ISNb。
步骤S106,旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,服务器根据第一次握手信号生成来自服务器的第二次握手信号,来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号不同。
旁路干扰设备将来自旁路干扰设备的第二次握手信号发送给客户端,客户端将来自旁路干扰设备的第二次握手信号作为服务器的应答。旁路干扰设备获取客户端的第一次握手信号并不阻止第一次握手信号发送给服务器,服务器依然能够接收到客户端的第一次握手信号,并根据接收到的第一次握手信号生成来自服务器的第二次握手信号作为对客户端第一次握手信号的应答,来自服务器的第二次握手信号携带的应答信号为ISNa+1,初始序号为ISNc。服务器将生成的来自服务器的第二次握手信号发送给客户端。但是,此时客户端已经收到旁路干扰设备生成的来自旁路干扰设备的第二次握手信号,并对来自旁路干扰设备的第二次握手信号做出应答。
旁路干扰设备根据第一次握手信号随机生成来自旁路干扰设备的第二次握手信号,生成的来自旁路干扰设备的第二次握手信号与来自服务器的第二次握手信号不同。
根据TCP协议中的三次握手,在客户端接收到旁路干扰设备生成的来自旁路干扰设备的第二次握手信号时,即进行了第二次握手,由于旁路干扰设备伪造了第二次握手信号,当客户端收到伪造的第二次握手信号之后,再收到真正由服务器发送的第二次握手信号时,来自服务器的第二次握手信号携带的初始序号为ISNc,客户端认为与预期的初始序号ISNb不符,向服务器返回RST,不正确响应来自服务器的第二次握手信号,所以在客户端和服务器之间无法建立连接。
上述实施例,在客户端向服务器发送第一次握手信号时,旁路干扰设备获取第一次握手信号,根据第一次握手信号生成来自旁路干扰设备的第二次握手信号,并将来自旁路干扰设备的第二次握手信号发送至客户端,使得客户端在接收到真正来自服务器的第二次握手信号之前已经接收到来自旁路干扰设备的第二次握手信号,从而导致客户端响应伪造的第二次握手信号,而不响应真正来自服务器的第二次握手信号,使得客户端和服务器之间无法建立连接,进而阻断了客户端和服务器之间的数据传输。
图2是根据本发明第二实施例的TCP旁路阻断方法的流程图。为了保证旁路干扰设备只获取需要阻断的客户端和服务器之间的信息,在旁路干扰设备中配置有阻断策略,其中,阻断策略用于确定进行数据阻断的服务器和客户端,在通过旁路干扰设备获取第一次握手信号之前,该TCP旁路阻断方法还包括:
步骤S202,旁路干扰设备获取来自客户端的数据包。
旁路干扰设备获取来自客户端的数据包,该数据包包括SYN请求报文,以及初始序号。
步骤S204,旁路干扰设备分析数据包,得到分析结果。
旁路干扰设备分析数据包,分析数据包中的数据以便于判断第一次握手信号的数据包是否为监测的客户端。
步骤S206,旁路干扰设备根据分析结果检测客户端是否与阻断策略相匹配。
旁路干扰设备在得到分析结果之后,根据分析结果检测客户端是否与阻断策略相匹配,即旁路干扰设备根据分析结果判断获取到的第一次握手信号的数据包是否为自己需要的数据包。
例如,旁路干扰设备需要阻断客户端A的网络,而不需要阻断客户端B的网络,那么,在获取到第一次握手信号数据包时,对第一次握手信号的数据包进行分析,如果分析结果是该第一次握手信号与客户端A相对应,则客户端A与阻断策略相匹配,则对客户端A的网络进行阻断;如果分析结果是该第二次握手信号与客户端B相对应,则客户端B与阻断策略不匹配,不对客户端B的网络进行阻断。
通过分析客户端的源IP、目的IP、源端口和目的端口可以确定获取到的第一次握手信号的数据包是否与阻断策略相匹配。
步骤S208,旁路干扰设备如果判断出客户端与阻断策略匹配,则旁路干扰设备将数据包作为第一次握手信号的数据包。
旁路干扰设备如果判断出客户端与阻断策略匹配,则旁路干扰设备确定针对该客户端进行阻断,将该数据包作为第一次握手信号的数据包。
进一步地,旁路干扰设备分析数据包,得到分析结果包括:旁路干扰设备分析数据包,得到数据包的源IP、目的IP、源端口、目的端口、第一次握手信号中的初始序号和数据包的SYN标记,旁路干扰设备根据第一次握手信号生成来自旁路干扰设备的第二次握手信号包括:添加ACK标记,保留SYN标记;根据第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换源IP和目的IP,交换源端口和目的端口,得到交换数据包,并计算得到校验和;根据SYN标记、ACK标记、应答序号、来自旁路干扰设备的初始序号、交换数据包和校验和得到来自旁路干扰设备的第二次握手信号。
旁路干扰设备获取的数据包如下:
源IP:IPA,目的IP:IPB,源端口:PORTA,目的端口:PORTB,初始序号ISNa,SYN请求标记。
交换端源IP和目的IP,交换源端口和目的端口,经过处理的数据包如下:
源IP:IPB,目的IP:IPA,源端口:PORTB,目的端口:PORTA,初始序号ISNb,应答序号ISNa+1,SYN/ACK标记。
将得到的数据包作为来自旁路干扰设备的第二次握手信号发送给客户端,来自旁路干扰设备的第二次握手信号包括SYN/ACK标记、应答序号ISNa+1和初始序号ISNb。
进一步地,旁路干扰设备获取第一次握手信号的数据包包括:旁路干扰设备获取来自客户端的数据包。旁路干扰设备判断数据包是否有第一次握手信号。旁路干扰设备如果判断出数据包有第一次握手信号,则获取数据包作为第一次握手信号的数据包。
旁路干扰设备获取来自客户端的数据包,由于客户端发送的数据包有多种,旁路干扰设备不需要对所有来自客户端的数据包进行数据处理,因此,旁路干扰设备需要判断来自客户端的数据包中是否有第一次握手信号,如果判断出来自客户端的数据包有第一次握手信号,则获取来自客户端的数据包作为第一次握手信号的数据包。
图3是根据本发明第三实施例的TCP旁路阻断方法的流程图。如图所示,该TCP旁路阻断方法包括如下步骤:
步骤S302,服务器接收来自客户端的第三次握手信号,其中,第三次握手信号包括根据来自旁路干扰设备的第二次握手信号生成的应答序号。
根据上述的实施例,客户端发送的第一次握手信号被旁路干扰设备获取,旁路干扰设备根据第一次握手信号生成来自旁路干扰设备的第二次握手信号,客户端针对接收到的来自旁路干扰设备的第二次握手信号作出应答,作为第三次握手信号发送给服务器。服务器会接收到来自客户端的第三次握手信号。第三次握手信号的应答序号为ISNb+1。
步骤S304,服务器判断应答信号与来自服务器的第二次握手信号是否一致。
服务器接收到来自客户端的第三次握手信号,服务器期望接收到的第三次握手信号中携带的应答信号与服务器发送的来自服务器的第二次握手信号一致,因此服务器需要判断第三次握手信号携带的应答信号与来自服务器的第二次握手信号是否一致。
步骤S306,服务器如果判断出应答信号与来自服务器的第二次握手信号不一致,则服务器不响应第三次握手信号。
客户端发送第一次握手信号之后,服务器接收到第一次握手信号,并根据第一次握手信号生成来自服务器的第二次握手信号作为应答。服务器发送的第二次握手信号中的初始序号为ISNc,期望得到的应答序号为ISNc+1,但是,服务器生成的来自服务器的第二次握手信号晚于来自旁路干扰设备的第二次握手信号到达客户端,客户端已经针对来自旁路干扰设备的第二次握手信号生成第三次握手信号发给服务器。服务器接收到的第三次握手信号是应答来自旁路干扰设备的第二次握手信号,即无法收到期望为ISNc+1的应答序号,而来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号对应不同的应答序号,服务器发出来自服务器的第二次握手信号后期望得到针对来自服务器的第二次握手信号的应答信号,针对来自服务器的第二次握手信号的应答信号与针对来自旁路干扰设备的第二次握手信号的应答信号不同,导致服务器接收到第三次握手信号与预期不符,则服务器判断应答信号与来自服务器的第二次握手信号不一致,则服务器不响应来自客户端的第三次握手信号。
通过上述实施例,客户端在接收到来自服务器的来自服务器的第二次握手信号之后,判断出接收到的来自服务器的第二次握手信号与预期不符,向服务器返回RST,不正确响应来自服务器的第二次握手信号导致客户端与服务器的第二次握手失败,而在第三次握手时,服务器接收到来自客户端的第三次握手信号后,判断出第三次握手信号携带的应答信号并非应答服务器发出的来自服务器的第二次握手信号,导致服务器不响应客户端的数据,随后服务器收到来自客户端的基于第二次握手信号的回包RST,由于服务器没有收到期望为ISNc+1的应答序号,最终导致第三次握手失败,使得服务器与客户端之间断开连接。旁路干扰设备伪造的应答信号使得客户端和服务器都出现了握手失败,使得客户端和服务器之间无法进行通信,从而达到了阻断客户端和服务器进行通信的效果。
另外,本发明实施例的TCP旁路阻断方法是通过旁路干扰设备伪造应答信号与客户端进行第二次握手,从而阻断客户端和服务器之间进行通信,该方法是阻断客户端和服务器建立通信,而不是在客户端和服务器进行通信后再进行阻断,从而保证了阻断不容易被破解。
本发明实施例还提供了一种TCP旁路阻断装置。
本发明实施例的TCP旁路阻断方法可以通过本发明实施例所提供的TCP旁路阻断装置来执行,本发明实施例的TCP旁路阻断装置也可以用于执行本发明实施例所提供的TCP旁路阻断方法。
图4是根据本发明第一实施例的TCP旁路阻断装置的示意图。通过旁路干扰设备进行TCP阻断,其中,旁路干扰设备旁接在客户端和服务器之间,该TCP旁路阻断装置包括:第一获取单元10、第一生成单元20和发送单元30。
第一获取单元10用于使得旁路干扰设备获取来自客户端的第一次握手信号。
旁路干扰设备旁接在客户端和服务器之间,旁接设备旁接的地理位置可以在客户端和服务器之间,例如,客户端在北京,服务器在广州,那么旁路干扰设备可能位于北京到广州的途经节点上进行监听,旁接而非串接在北京至广州的网络中。
旁路干扰设备能够在客户端和服务器进行通信时监听客户端的握手信号。客户端向服务器发送第一次握手信号,第一次握手信号携带初始序号ISNa。旁路干扰设备监听到客户端的第一次握手信号之后,获取来自客户端的第一次握手信号。
第一生成单元20用于使得旁路干扰设备根据第一次握手信号生成来自旁路干扰设备的第二次握手信号。
旁路干扰设备获取到第一次握手信号之后,根据第一次握手信号随机生成第二次握手信号的初始信号,即旁路干扰设备伪造来自旁路干扰设备的第二次握手信号作为服务器的应答信号,来自旁路干扰设备的第二次握手信号携带的应答序号为ISNa+1,随机的初始序号为ISNb。
发送单元30用于使得旁路干扰设备在来自服务器的第二次握手信号到达客户端之前,发送来自旁路干扰设备的第二次握手信号至客户端,其中,服务器根据第一次握手信号生成来自服务器的第二次握手信号。
旁路干扰设备将来自旁路干扰设备的第二次握手信号发送给客户端,客户端将来自旁路干扰设备的第二次握手信号作为服务器的应答。旁路干扰设备获取客户端的第一次握手信号并不阻止第一次握手信号发送给服务器,服务器依然能够接收到客户端的第一次握手信号,并根据接收到的第一次握手信号生成来自服务器的第二次握手信号作为对客户端第一次握手信号的应答,来自服务器的第二次握手信号携带的应答信号为ISNa+1,初始序号为ISNc。服务器将生成的来自服务器的第二次握手信号发送给客户端。但是,此时客户端已经收到旁路干扰设备生成的来自旁路干扰设备的第二次握手信号,并对来自旁路干扰设备的第二次握手信号做出应答。
旁路干扰设备根据第一次握手信号随机生成来自旁路干扰设备的第二次握手信号,生成的来自旁路干扰设备的第二次握手信号与来自服务器的第二次握手信号不同。
根据TCP协议中的三次握手,在客户端接收到旁路干扰设备生成的来自旁路干扰设备的第二次握手信号时,即进行了第二次握手,由于旁路干扰设备伪造了第二次握手信号,当客户端收到伪造的第二次握手信号之后,再收到真正由服务器发送的第二次握手信号时,接收到初始序号为ISNc,客户端认为与预期的初始序号ISNb不符,向服务器返回RST,不正确响应来自服务器的第二次握手信号,所以在客户端和服务器之间无法建立连接。
上述实施例,在客户端向服务器发送第一次握手信号时,旁路干扰设备获取第一次握手信号,根据第一次握手信号生成来自旁路干扰设备的第二次握手信号作为第二次握手信号,并将第二次握手信号发送至客户端,使得客户端在接收到真正来自服务器的第二次握手信号之前已经接收到旁路干扰设备发送的第二次握手信号,从而导致客户端响应伪造的第二次握手信号,而不响应来自客户端的第二次握手信号,使得客户端和服务器之间无法建立连接,进而阻断了客户端和服务器之间的数据传输。
图5是根据本发明第三实施例的TCP旁路阻断装置的示意图。该TCP旁路阻断装置包括:第一获取单元10、第一生成单元20和发送单元30,还包括第二获取单元40、分析单元50、检测单元60和第二生成单元70。
第二获取单元40用于在旁路干扰设备获取来自客户端的第一次握手信号之前,使得旁路干扰设备获取来自客户端的数据包。
旁路干扰设备配置有阻断策略,其中,阻断策略用于确定进行数据阻断的服务器和客户端。
旁路干扰设备获取来自客户端的数据包,该数据包包括SYN请求报文,以及初始序号。
分析单元50用于使得旁路干扰设备分析数据包,得到分析结果。
旁路干扰设备分析数据包,分析数据包中的数据,以便于判断第一次握手信号的数据包是否为监测的客户端。
检测单元60用于使得旁路干扰设备根据分析结果检测客户端是否与阻断策略相匹配。
旁路干扰设备在得到分析结果之后,根据分析结果检测客户端是否与阻断策略相匹配,即旁路干扰设备根据分析结果判断获取到的第一次握手信号的数据包是否为自己需要的数据包。
例如,旁路干扰设备需要阻断客户端A的网络,而不需要阻断客户端B的网络,那么,在获取到第一次握手信号数据包时,对第一次握手信号的数据包进行分析,如果分析结果是该第一次握手信号与客户端A相对应,则客户端A与阻断策略相匹配,则对客户端A的网络进行阻断;如果分析结果是该第二次握手信号与客户端B相对应,则客户端B与阻断策略不匹配,不对客户端B的网络进行阻断。
通过分析客户端的源IP、目的IP、源端口和目的端口可以确定获取到的第一次握手信号的数据包是否与阻断策略相匹配。
第二生成单元70用于在旁路干扰设备判断出客户端与阻断策略匹配时,使得旁路干扰设备将数据包作为第一次握手信号的数据包。
旁路干扰设备如果判断出客户端与阻断策略匹配,则旁路干扰设备确定针对该客户端进行阻断,将该数据包作为第一次握手信号的数据包。
进一步地,分析单元还用于使得旁路干扰设备分析得到数据包的源IP、目的IP、源端口和目的端口,添加模块,用于添加ACK标记,保留SYN标记;生成模块,用于根据第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换模块,用于交换源IP和目的IP,交换源端口和目的端口,得到交换数据包,并计算得到校验和;确认模块,用于SYN标记、ACK标记、应答序号、来自旁路干扰设备的初始序号、交换数据包和校验和得到来自旁路干扰设备的第二次握手信号。
旁路干扰设备获取的数据包如下:
源IP:IPA,目的IP:IPB,源端口:PORTA,目的端口:PORTB,初始序号ISNa,SYN请求标记。
交换端源IP和目的IP,交换源端口和目的端口,经过处理的数据包如下:
源IP:IPB,目的IP:IPA,源端口:PORTB,目的端口:PORTA,初始序号ISNb,应答序号ISNa+1,SYN/ACK标记。
将得到的数据包作为来自旁路干扰设备的第二次握手信号发送给客户端,来自旁路干扰设备的第二次握手信号包括SYN/ACK标记、应答序号ISNa+1和初始序号ISNb。
进一步地,第二获取单元包括:
第二获取模块,用于使得旁路干扰设备获取来自客户端的数据包。
判断模块,用于使得旁路干扰设备判断来自客户端的数据包是否有第一次握手信号。
第二确认模块,用于在旁路干扰设备判断出来自客户端的数据包有第一次握手信号时,将来自客户端的数据包作为第一次握手信号的数据包。
旁路干扰设备获取来自客户端的数据包,由于客户端发送的数据包有多种,旁路干扰设备不需要对所有来自客户端的数据包进行数据处理,因此,旁路干扰设备需要判断来自客户端的数据包中是否有第一次握手信号,如果判断出来自客户端的数据包有第一次握手信号,则将来自客户端的数据包作为第一次握手信号的数据包。
图6是根据本发明第三实施例的TCP旁路阻断装置的示意图。如图所示,该TCP旁路阻断装置包括:第一获取单元10、第一生成单元20和发送单元30还包括接收单元11、判断单元22和响应单元33。
接收单元11用于使得服务器接收来自客户端的第三次握手信号,其中,第三次握手信号包括根据来自旁路干扰设备的第二次握手信号生成的应答信号。
根据上述的实施例,客户端发送的第一次握手信号被旁路干扰设备获取,旁路干扰设备根据第一次握手信号生成来自旁路干扰设备的第二次握手信号,客户端针对接收到的来自旁路干扰设备的第二次握手信号作出应答,作为第三次握手信号发送给服务器。服务器会接收到来自客户端的第三次握手信号。
判断单元22用于使得服务器判断应答信号与来自服务器的第二次握手信号是否一致。
服务器接收到来自客户端的第三次握手信号,服务器期望接收到的第三次握手信号中携带的应答信号与服务器发送的来自服务器的第二次握手信号一致,因此服务器需要判断第三次握手信号携带的应答信号与来自服务器的第二次握手信号是否一致。
响应单元33用于在服务器判断出应答信号与来自服务器的第二次握手信号不一致时,使得服务器不响应第三次握手信号。
客户端发送第一次握手信号之后,服务器接收到第一次握手信号,并根据第一次握手信号生成来自服务器的第二次握手信号作为应答。但是,服务器生成的来自服务器的第二次握手信号晚于来自旁路干扰设备的第二次握手信号到达客户端,客户端已经针对来自旁路干扰设备的第二次握手信号生成第三次握手信号发给服务器。服务器接收到的第三次握手信号是应答来自旁路干扰设备的第二次握手信号,即无法收到期望为ISNc+1的应答序号,而来自服务器的第二次握手信号与来自旁路干扰设备的第二次握手信号对应不同的应答序号,服务器发出来自服务器的第二次握手信号后期望得到针对来自服务器的第二次握手信号的应答信号,针对来自服务器的第二次握手信号的应答信号与针对来自旁路干扰设备的第二次握手信号的应答信号不同,导致服务器接收到第三次握手信号与预期不符,则服务器判断应答信号与来自服务器的第二次握手信号不一致,则服务器不响应来自客户端的第三次握手信号。
通过上述实施例,客户端在接收到来自服务器的来自服务器的第二次握手信号之后,判断出接收到的来自服务器的第二次握手信号与预期不符,向服务器返回RST,不响应来自服务器的第二次握手信号导致客户端与服务器的第二次握手失败,而在第三次握手时,服务器接收到来自客户端的第三次握手信号后,判断出第三次握手信号携带的应答信号并非应答服务器发出的来自服务器的第二次握手信号,导致服务器不响应客户端的数据,随后服务器收到来自客户端的基于第二次握手信号的回包RST,由于服务器没有收到期望为ISNc+1的应答序号,最终导致第三次握手失败,使得服务器与客户端之间断开连接。旁路干扰设备伪造的应答信号使得客户端和服务器都出现了握手失败,使得客户端和服务器之间无法进行通信,从而达到了阻断客户端和服务器进行通信的效果。
另外,本发明实施例的TCP旁路阻断装置,能够使得旁路干扰设备伪造应答信号与客户端进行第二次握手,从而阻断客户端和服务器之间进行通信,该装置能够阻断客户端和服务器建立通信,而不是在客户端和服务器进行通信后再进行阻断,从而保证了阻断不容易被破解。
本发明实施例还提供了一种计算机存储介质。该计算机存储介质可存储有程序,该程序用于执行上述的TCP旁路阻断方法中的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种TCP旁路阻断方法,其特征在于,通过旁路干扰设备进行TCP阻断,其中,所述旁路干扰设备旁接在客户端和服务器之间,所述TCP旁路阻断方法包括:
所述旁路干扰设备获取来自所述客户端的第一次握手信号;
所述旁路干扰设备根据所述第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及
所述旁路干扰设备在来自服务器的第二次握手信号到达所述客户端之前,发送所述来自旁路干扰设备的第二次握手信号至所述客户端,其中,所述客户端响应所述来自旁路干扰设备的第二次握手信号,所述服务器根据所述第一次握手信号生成所述来自服务器的第二次握手信号,所述来自服务器的第二次握手信号与所述来自旁路干扰设备的第二次握手信号不同。
2.根据权利要求1所述的TCP旁路阻断方法,其特征在于,所述旁路干扰设备配置有阻断策略,其中,所述阻断策略用于确定进行数据阻断的服务器和客户端,在所述旁路干扰设备获取来自所述客户端的第一次握手信号之前,所述TCP旁路阻断方法还包括:
所述旁路干扰设备获取来自所述客户端的数据包;
所述旁路干扰设备分析所述数据包,得到分析结果;
所述旁路干扰设备根据所述分析结果检测所述客户端是否与所述阻断策略相匹配;以及
所述旁路干扰设备如果判断出所述客户端与所述阻断策略匹配,则所述旁路干扰设备将所述数据包作为待获取的第一次握手信号的数据包。
3.根据权利要求2所述的TCP旁路阻断方法,其特征在于,
所述旁路干扰设备分析所述数据包,得到分析结果包括:所述旁路干扰设备分析所述数据包,得到所述数据包的源IP、目的IP、源端口、目的端口、所述第一次握手信号中的初始序号和所述数据包的SYN标记,
所述旁路干扰设备根据所述第一次握手信号生成第二次握手信号包括:添加ACK标记,保留SYN标记;根据所述第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换所述源IP和所述目的IP,交换所述源端口和所述目的端口,得到交换数据包,并计算得到校验和;根据所述SYN标记、所述ACK标记、所述应答序号、所述来自旁路干扰设备的初始序号、所述交换数据包和所述校验和得到所述来自旁路干扰设备的第二次握手信号。
4.根据权利要求2所述的TCP旁路阻断方法,其特征在于,所述旁路干扰设备获取所述第一次握手信号的数据包包括:
所述旁路干扰设备获取来自客户端的数据包;
所述旁路干扰设备判断所述数据包是否有第一次握手信号;以及
所述旁路干扰设备如果判断出所述数据包有第一次握手信号,则获取所述数据包作为所述第一次握手信号的数据包。
5.根据权利要求1所述的TCP旁路阻断方法,其特征在于,所述TCP旁路阻断方法还包括:
所述服务器接收来自所述客户端的第三次握手信号,其中,所述第三次握手信号包括根据所述来自旁路干扰设备的第二次握手信号生成的应答序号;
所述服务器判断所述第三次握手信号中的应答序号与所述来自服务器的第二次握手信号中的应答序号是否匹配;以及
所述服务器如果判断出所述第三次握手信号中的应答序号与所述来自服务器的第二次握手信号中的应答序号不匹配,则所述服务器不响应所述第三次握手信号。
6.一种TCP旁路阻断装置,其特征在于,通过旁路干扰设备进行TCP阻断,其中,所述旁路干扰设备旁接在客户端和服务器之间,所述TCP旁路阻断装置包括:
第一获取单元,用于使得所述旁路干扰设备获取来自所述客户端的第一次握手信号;
第一生成单元,用于使得所述旁路干扰设备根据所述第一次握手信号生成第二次握手信号,得到来自旁路干扰设备的第二次握手信号;以及
发送单元,用于使得所述旁路干扰设备在来自服务器的第二次握手信号到达所述客户端之前,发送来自旁路干扰设备的第二次握手信号至所述客户端,其中,所述客户端响应所述来自旁路干扰设备的第二次握手信号,所述服务器根据所述第一次握手信号生成所述来自服务器的第二次握手信号,所述来自服务器的第二次握手信号与所述来自旁路干扰设备的第二次握手信号不同。
7.根据权利要求6所述的TCP旁路阻断装置,其特征在于,所述旁路干扰设备配置有阻断策略,其中,所述阻断策略用于确定进行数据阻断的服务器和客户端,所述TCP旁路阻断装置还包括:
第二获取单元,用于在所述旁路干扰设备获取来自所述客户端的第一次握手信号之前,使得所述旁路干扰设备获取来自所述客户端的数据包;
分析单元,用于使得所述旁路干扰设备分析所述数据包,得到分析结果;
检测单元,用于使得所述旁路干扰设备根据所述分析结果检测所述客户端是否与所述阻断策略相匹配;以及
第二生成单元,用于在所述旁路干扰设备判断出所述客户端与所述阻断策略匹配时,使得所述旁路干扰设备将所述数据包作为待获取的第一次握手信号的数据包。
8.根据权利要求7所述的TCP旁路阻断装置,其特征在于,
所述分析单元还用于使得所述旁路干扰设备分析得到所述数据包的源IP、目的IP、源端口、目的端口、所述第一次握手信号中的初始序号和所述数据包的SYN标记,
所述第一生成单元包括:添加模块,用于添加ACK标记,保留SYN标记;生成模块,用于根据所述第一次握手信号中的初始序号生成应答序号和来自旁路干扰设备的初始序号;交换模块,用于交换所述源IP和所述目的IP,交换所述源端口和所述目的端口,得到交换数据包,并计算得到校验和;确认模块,用于所述SYN标记、所述ACK标记、所述应答序号、所述来自旁路干扰设备的初始序号、所述交换数据包和所述校验和得到所述来自旁路干扰设备的第二次握手信号。
9.根据权利要求7所述的TCP旁路阻断装置,其特征在于,所述第二获取单元包括:
第二获取模块,用于使得所述旁路干扰设备获取来自客户端的数据包;
判断模块,用于使得所述旁路干扰设备判断所述数据包是否有第一次握手信号;以及
第三获取模块,用于在所述旁路干扰设备判断出所述数据包有第一次握手信号时,获取所述来自客户端的数据包作为所述第一次握手信号的数据包。
10.根据权利要求6所述的TCP旁路阻断装置,其特征在于,所述TCP旁路阻断装置还包括:
接收单元,用于使得所述服务器接收来自所述客户端的第三次握手信号,其中,所述第三次握手信号包括根据所述来自旁路干扰设备的第二次握手信号生成的应答序号;
判断单元,用于使得所述服务器判断所述第三次握手信号中的应答序号与所述来自服务器的第二次握手信号中的应答序号是否匹配;以及
响应单元,用于在所述服务器判断出所述第三次握手信号中的应答序号与所述来自服务器的第二次握手信号中的应答序号不匹配时,使得所述服务器不响应所述第三次握手信号。
CN201410295161.8A 2014-06-25 2014-06-25 Tcp旁路阻断方法和装置 Pending CN104023036A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410295161.8A CN104023036A (zh) 2014-06-25 2014-06-25 Tcp旁路阻断方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410295161.8A CN104023036A (zh) 2014-06-25 2014-06-25 Tcp旁路阻断方法和装置

Publications (1)

Publication Number Publication Date
CN104023036A true CN104023036A (zh) 2014-09-03

Family

ID=51439606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410295161.8A Pending CN104023036A (zh) 2014-06-25 2014-06-25 Tcp旁路阻断方法和装置

Country Status (1)

Country Link
CN (1) CN104023036A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691063A (zh) * 2018-07-06 2020-01-14 山东华软金盾软件股份有限公司 流镜像模式下单inbound下TCP阻断方法
CN111490961A (zh) * 2019-01-25 2020-08-04 阿里巴巴集团控股有限公司 通信连接的阻断***、方法、装置和设备
CN111917682A (zh) * 2019-05-07 2020-11-10 阿里巴巴集团控股有限公司 访问行为识别方法、性能检测方法、装置、设备和***
CN113890769A (zh) * 2021-11-30 2022-01-04 南京开博信达科技有限公司 一种tcp阻断方法
CN114915497A (zh) * 2022-07-13 2022-08-16 杭州云缔盟科技有限公司 针对Windows进程的网络访问阻断方法、装置及应用

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630248A (zh) * 2003-12-19 2005-06-22 北京航空航天大学 基于连接请求验证的SYN flooding攻击防御方法
CN101035035A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 检测主机数量的方法、装置与***及通信方法
CN101159683A (zh) * 2007-10-15 2008-04-09 华为技术有限公司 对数据流量进行控制的方法及装置
CN101350746A (zh) * 2007-07-20 2009-01-21 莱克斯信息技术(北京)有限公司 旁路阻断tcp连接
CN103200091A (zh) * 2013-03-29 2013-07-10 北京蓝汛通信技术有限责任公司 一种抗干扰方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630248A (zh) * 2003-12-19 2005-06-22 北京航空航天大学 基于连接请求验证的SYN flooding攻击防御方法
CN101035035A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 检测主机数量的方法、装置与***及通信方法
CN101350746A (zh) * 2007-07-20 2009-01-21 莱克斯信息技术(北京)有限公司 旁路阻断tcp连接
CN101159683A (zh) * 2007-10-15 2008-04-09 华为技术有限公司 对数据流量进行控制的方法及装置
CN103200091A (zh) * 2013-03-29 2013-07-10 北京蓝汛通信技术有限责任公司 一种抗干扰方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱平,贾卓生: "TCP/IP通信的监听与阻断", 《计算机工程》 *
贾大智: "内网安全产品中的旁路阻断技术分析", 《计算机安全》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691063A (zh) * 2018-07-06 2020-01-14 山东华软金盾软件股份有限公司 流镜像模式下单inbound下TCP阻断方法
CN111490961A (zh) * 2019-01-25 2020-08-04 阿里巴巴集团控股有限公司 通信连接的阻断***、方法、装置和设备
CN111490961B (zh) * 2019-01-25 2022-06-21 阿里巴巴集团控股有限公司 通信连接的阻断***、方法、装置和设备
CN111917682A (zh) * 2019-05-07 2020-11-10 阿里巴巴集团控股有限公司 访问行为识别方法、性能检测方法、装置、设备和***
CN111917682B (zh) * 2019-05-07 2023-01-24 阿里巴巴集团控股有限公司 访问行为识别方法、性能检测方法、装置、设备和***
CN113890769A (zh) * 2021-11-30 2022-01-04 南京开博信达科技有限公司 一种tcp阻断方法
CN113890769B (zh) * 2021-11-30 2022-04-08 南京开博信达科技有限公司 一种tcp阻断方法
CN114915497A (zh) * 2022-07-13 2022-08-16 杭州云缔盟科技有限公司 针对Windows进程的网络访问阻断方法、装置及应用

Similar Documents

Publication Publication Date Title
CN105516080B (zh) Tcp连接的处理方法、装置及***
CN104023036A (zh) Tcp旁路阻断方法和装置
CN100514921C (zh) 一种网络流量异常检测方法和***
CN107360247B (zh) 处理业务的方法和网络设备
CN108512885A (zh) 对被识别为消息队列遥测传输包的网络包执行特定动作
CN105578463B (zh) 一种双连接安全通讯的方法及装置
CN106453376B (zh) 一种基于tcp包特征的无状态扫描过滤方法
CN101252584B (zh) 双向转发检测协议会话的认证方法、***和设备
CN109819527B (zh) 一种云打印的数据传输方法、装置、设备和存储介质
CN103795632A (zh) 一种数据报文传输方法及相关设备、***
CN103763156A (zh) 网络测速方法及***
CN102201982A (zh) 一种应用识别方法及其设备
JP2006279636A (ja) クライアント間通信ログの整合性保証管理システム
CN106688218A (zh) 用于控制分组传输网络中的握手的方法和装置
CN102573111A (zh) 传输控制协议资源的释放方法及装置
CN102404345A (zh) 分布式攻击阻止方法及装置
CN105721509B (zh) 一种服务器***
CN100495993C (zh) 检测主机数量的方法、装置与***及通信方法
CN101567891B (zh) 源地址验证方法、装置及***
CN104702596B (zh) 一种基于数据包长度的信息隐藏与传输的方法及***
CN107104892A (zh) 网络加速的方法和装置
CN112822208A (zh) 一种基于区块链的物联网设备识别方法及***
CN110830419B (zh) 一种网际协议摄像机的访问控制方法及装置
CN106302846B (zh) 一种通信连接建立方法及装置、***
CN114205248B (zh) 模拟超时响应方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20140903