CN108449280B - 一种避免tcp报文乒乓的方法及装置 - Google Patents
一种避免tcp报文乒乓的方法及装置 Download PDFInfo
- Publication number
- CN108449280B CN108449280B CN201710083050.4A CN201710083050A CN108449280B CN 108449280 B CN108449280 B CN 108449280B CN 201710083050 A CN201710083050 A CN 201710083050A CN 108449280 B CN108449280 B CN 108449280B
- Authority
- CN
- China
- Prior art keywords
- message
- confirmation
- client
- confirmation 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种避免TCP报文乒乓的方法及装置,该方法包括:服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端;在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。本发明所述一种避免TCP报文乒乓的方法及装置,在TCP连接受到数据注入攻击或其他异常情况下,有效避免TCP连接两端持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种避免TCP报文乒乓的方法及装置。
背景技术
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通过三次握手协商建立连接,连接建立后,标识连接的四元组(源IP(Internet Protocol,网络之间互连的协议) 地址、源端口、目的IP地址和目的端口)始终保持不变,以此提供面向连接的服务;再通过TCP报文头部中的序列号和确认号字段,辅以重传和确认机制来实现数据的可靠、有序传输;另外,TCP通过接收窗口实现发送端的流量控制,通过拥塞窗口实现网络的拥塞控制。
TCP协议在最初设计的时候并没有充分考虑安全性,TCP的安全性主要依赖于其四元组的不可确定性以及序列号、确认号的随机性。在 RFC5961-Improving TCP'sRobustness to Blind In-Window Attacks(提高TCP的窗口盲攻击的鲁棒性)出现之前,Blind In-Window Attacks(窗口的盲攻击)一直是针对TCP协议的主要攻击手段,一旦伪造数据包的序列号落到了可接收的范围内,攻击者就可以往TCP连接注入恶意数据或者直接重置连接。然而,旨在提高TCP安全性的RFC5961引发了编号为CVE-2016-5696的安全漏洞,利用这个漏洞,攻击者可以更快的实施恶意数据注入攻击。
恶意数据注入攻击的影响非常严重。对于终端用户来说,它可以在正常浏览的WEB(网络)页面上***钓鱼网站,使终端用户蒙受财产的损失和个人信息的泄露;它可以任意篡改用户传输的数据,使得可靠的TCP传输变得不再可靠。而对于数据通信设备来说,除了上述影响外,恶意数据注入攻击引发连接两端大量的TCP乒乓报文,还会极大消耗***的CPU资源,影响***中其他协议的正常运行,严重时整个***都会处于拒绝服务状态。
恶意数据注入攻击引发连接两端TCP报文乒乓如附图1所示。Server(服务器)端收到数据注入攻击报文后,正常的向Client(客户)端发送确认报文,由于该确认报文的确认号却大于Client端已发送的序列号,引发Client端回应一个确认报文,而Client端回应的确认报文的序列号又小于Server端期待接收的序列号,触发了Server端再次发送确认报文,如此循环,导致了正常TCP连接两端持续发送乒乓报文。
发明内容
本发明要解决的技术问题是,提供一种避免TCP报文乒乓的方法及装置,克服现有技术中在TCP连接受到数据注入攻击后,导致TCP连接两端持续发送大量乒乓报文导致的CPU(Central Processing Unit,中央处理器)资源的消耗和对网络带宽占用的缺陷。
本发明采用的技术方案是,所述一种避免传输控制协议TCP报文乒乓的方法,包括:
服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;
在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。
进一步的,所述服务器端基于接收到的TCP报文配置第一确认报文,包括:
所述服务器端基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
进一步的,所述服务器端判断所述第二确认报文是否合法,包括:
服务器端判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;
若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。
本发明还提供一种避免传输控制协议TCP报文乒乓的装置,设置于服务器端,包括:
配置模块,用于基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;
第一判断模块,用于在所述配置模块将所述第一确认报文发送至客户端之后,并在接收到的所述客户端发送的第二确认报文的情况下,判断所述第二确认报文是否合法;若第二确认报文判定为合法,则再次向客户端发送所述第一确认报文;否则停止向客户端发送第一确认报文。
进一步的,所述基于接收到的TCP报文配置第一确认报文,包括:
基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
进一步的,所述判断所述第二确认报文是否合法,包括:
判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;
若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。
本发明还提供一种避免传输控制协议TCP报文乒乓的方法,包括:
客户端判断接收到的服务器端发送的第一确认报文是否合法;
若所述第一确认报文判定为合法,则所述客户端向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则所述客户端停止响应;
若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则所述客户端配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则所述客户端停止响应。
进一步的,所述客户端判断接收到的服务器端发送的第一确认报文是否合法,包括:
所述客户端判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;
若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。
进一步的,所述客户端配置第二确认报文,包括:
将所述客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将所述第一确认报文的序列号配置为第二确认报文的确认号。
本发明还提供一种避免传输控制协议TCP报文乒乓的装置,设置于客户端,包括:
第二判断模块,用于判断接收到的服务器端发送的第一确认报文是否合法;
挑战确认模块,用于若所述第一确认报文判定为合法,则所向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则停止响应;
反馈模块,用于若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则停止响应。
进一步的,所述判断接收到的服务器端发送的第一确认报文是否合法,包括:
判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;
若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。
进一步的,所述配置第二确认报文,包括:
所述客户端将第二确认报文的序列号配置为所述客户端已发送数据的序列号的最大值,并将第二确认报文的确认号配置为所述第一确认报文的序列号。
本发明还提供一种避免传输控制协议TCP报文乒乓的方法,包括:
当通信***端监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认报文时,通信***端判断在设定时长内所述挑战确认报文的数量是否小于第二预设值;
若判定在设定时长内所述挑战确认报文的数量小于第二预设值,则通信***端控制所述客户端向所述服务器端发送第二确认报文;否则通信***端控制所述客户端停止响应。
进一步的,所述第二确认报文的序列号为所述客户端已发送数据的序列号的最大值;
所述第二确认报文的确认号为所述第一确认报文的序列号。
本发明还提供一种避免传输控制协议TCP报文乒乓的装置,设置于通信***端,包括:
第三判断模块,用于当监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认报文时,通信***端判断在设定时长内所述挑战确认报文的数量是否小于第二预设值;
执行摸快,用于若判定在设定时长内所述挑战确认报文的数量小于第二预设值,则控制所述客户端向所述服务器端发送第二确认报文;否则通信***端控制所述客户端停止响应。
进一步的,所述第二确认报文的序列号为所述客户端已发送数据的序列号的最大值;
所述第二确认报文的确认号为所述第一确认报文的序列号。
采用上述技术方案,本发明至少具有下列优点:
本发明所述一种避免TCP报文乒乓的方法及装置,在TCP连接受到数据注入攻击或其他异常情况下,有效避免TCP连接两端(客户端和服务器端)持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
附图说明
图1为现有技术中TCP连接受到数据注入攻击的情况下TCP连接两端(客户端和服务器端)持续发送TCP乒乓报文的流程图;
图2为本发明第一实施例的避免TCP报文乒乓的方法流程图;
图3为本发明第二实施例的避免TCP报文乒乓的装置组成结构示意图;
图4为本发明第三实施例的避免TCP报文乒乓的方法流程图;
图5为本发明第四实施例的避免TCP报文乒乓的装置组成结构示意图;
图6为本发明第五实施例的避免TCP报文乒乓的方法流程图;
图7为本发明第六实施例的避免TCP报文乒乓的装置组成结构示意图;
图8为本发明第七实施例的避免TCP报文乒乓的方法流程图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种避免TCP报文乒乓的方法,如图2所示,包括以下具体步骤:
步骤S101,服务器端基于接收到的TCP报文配置第一确认报文,并将第一确认报文发送至客户端,以供客户端判断第一确认报文是否合法。
其中,服务器端基于接收到的TCP报文配置第一确认报文的方式,包括:
服务器端基于接收到的TCP报文,将TCP报文的确认号配置为第一确认报文的序列号,并将TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
例如:步骤S101,服务器端基于接收到的TCP报文配置第一确认报文,并将第一确认报文发送至客户端,以供客户端判断第一确认报文是否合法。
其中,服务器端接收到的TCP报文的序列号为X,确认号为Y,报文长度为Z;
服务器端基于接收到的TCP报文配置第一确认报文的方式,包括:
服务器端基于接收到的TCP报文,将TCP报文的确认号Y配置为第一确认报文的序列号,并将TCP报文的序列号X与报文长度Z之和X+Z配置为第一确认报文的确认号。
步骤S102,在服务器端接收到的客户端发送的第二确认报文的情况下,服务器端判断第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送第一确认报文;否则服务器端停止向客户端发送第一确认报文。
其中,服务器端判断第二确认报文是否合法,包括:
服务器端判断第二确认报文的序列号是否小于第一确认报文的确认号;
若第二确认报文的序列号小于第一确认报文的确认号,则判定第二确认报文合法;
否则判定第二确认报文不合法。
本发明第一实施例的一种避免TCP报文乒乓的方法,能够在TCP连接受到数据注入攻击或其他异常情况下,有效避免TCP连接两端(客户端和服务器端) 持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
本发明第二实施例,一种避免TCP报文乒乓的装置,设置于服务器端,如图3所示,包括以下组成部分:
配置模块110,用于基于接收到的TCP报文配置第一确认报文,并将第一确认报文发送至客户端,以供客户端判断第一确认报文是否合法。
其中,基于接收到的TCP报文配置第一确认报文,包括:
基于接收到的TCP报文,将TCP报文的确认号配置为第一确认报文的序列号,并将TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
例如:配置模块110,用于服务器端基于接收到的TCP报文配置第一确认报文,并将第一确认报文发送至客户端,以供客户端判断第一确认报文是否合法。
其中,服务器端接收到的TCP报文的序列号为X,确认号为Y,报文长度为Z;
服务器端基于接收到的TCP报文配置第一确认报文的方式,包括:
服务器端基于接收到的TCP报文,将TCP报文的确认号Y配置为第一确认报文的序列号,并将TCP报文的序列号X与报文长度Z之和X+Z配置为第一确认报文的确认号。
第一判断模块120,用于在接收到的客户端发送的第二确认报文的情况下,判断第二确认报文是否合法;若第二确认报文判定为合法,则再次向客户端发送第一确认报文;否则服务器端停止向客户端发送第一确认报文。
其中,判断第二确认报文是否合法,包括:
判断第二确认报文的序列号是否小于第一确认报文的确认号;
若第二确认报文的序列号小于第一确认报文的确认号,则判定第二确认报文合法;
否则判定第二确认报文不合法。
本发明第二实施例的一种避免TCP报文乒乓的装置,能够在TCP连接受到数据注入攻击或其他异常情况下,有效自动停止TCP连接两端(客户端和服务器端)持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
本发明第三实施例,一种避免TCP报文乒乓的方法,如图4所示,包括以下具体步骤:
步骤S301,客户端判断接收到的服务器端发送的第一确认报文是否合法。
其中,客户端判断接收到的服务器端发送的第一确认报文是否合法,包括:
客户端判断接收到的服务器端发送的第一确认报文的确认号是否大于客户端已发送数据的序列号的最大值;
若第一确认报文的确认号大于客户端已发送数据的序列号的最大值,则第一确认报文判定为合法;否则第一确认报文判定为不合法。
例如:客户端接收服务器端发送的第一确认报文;
其中,第一确认报文的序列号为Y,确认号为X+Z;
客户端判断第一确认报文是否合法;
其中,客户端判断第一确认报文是否合法的方式,包括:
客户端判断第一确认报文的确认号X+Z是否大于客户端已发送数据的序列号的最大值X;
若第一确认报文的确认号X+Z大于客户端已发送数据的序列号的最大值X,则第一确认报文判定为合法。
步骤S302,若第一确认报文判定为合法,则客户端向服务器端发送挑战确认(ACK)报文,并判断在设定时长内挑战确认(ACK)报文的数量是否小于第一预设值;否则客户端停止响应。
其中,第一预设值根据经验进行设置,或者,通过有限次试验的统计结果进行设置。
例如:步骤S302,若第一确认报文判定为合法,则客户端向服务器端发送挑战确认(ACK)报文,并判断在设定时长1秒内挑战确认(ACK)报文的数量是否小于第一预设值30;
若第一确认报文判定为不合法,则客户端停止响应。
步骤S303,若在设定时长内挑战确认(ACK)报文的发送数量小于第一预设值,则客户端配置第二确认报文,并将第二确认报文发送至服务器端,以供服务器端判断第二确认报文是否合法;否则客户端停止响应。
其中,客户端配置第二确认报文,包括:
客户端将客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将第一确认报文的序列号配置为第二确认报文的确认号。
例如:步骤S303,若在设定时长1秒内挑战确认(ACK)报文的发送数量 20小于第一预设值30,则客户端配置第二确认报文,并将第二确认报文发送至服务器端,以供服务器端判断第二确认报文是否合法。
其中,客户端配置第二确认报文,包括:
客户端将客户端已发送数据的序列号的最大值X配置为第二确认报文的序列号,并将第一确认报文的序列号Y配置为第二确认报文的确认号。
又如:步骤S303,若在设定时长1秒内挑战确认(ACK)报文的发送数量 40不小于第一预设值30,则客户端停止响应。
本发明第三实施例的一种避免TCP报文乒乓的方法,能够在TCP连接受到数据注入攻击或其他异常情况下,有效自动停止TCP连接两端(客户端和服务器端)持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
本发明第四实施例,一种避免TCP报文乒乓的装置,设置于客户端,如图 5所示,包括以下组成部分:
第二判断模块210,用于判断接收到的服务器端发送的第一确认报文是否合法。
其中,判断接收到的服务器端发送的第一确认报文是否合法,包括:
判断接收到的服务器端发送的第一确认报文的确认号是否大于客户端已发送数据的序列号的最大值;
若第一确认报文的确认号大于客户端已发送数据的序列号的最大值,则第一确认报文判定为合法;否则第一确认报文判定为不合法。
例如:第二判断模块210,用于接收服务器端发送的第一确认报文;
其中,第一确认报文的序列号为Y,确认号为X+Z;
判断第一确认报文是否合法;
其中,判断第一确认报文是否合法的方式,包括:
判断第一确认报文的确认号X+Z是否大于客户端已发送数据的序列号的最大值X;
若第一确认报文的确认号X+Z大于客户端已发送数据的序列号的最大值X,则第一确认报文判定为合法。
挑战确认模块220,用于若第一确认报文判定为合法,则向服务器端发送挑战确认(ACK)报文,并判断在设定时长内挑战确认(ACK)报文的数量是否小于第一预设值;否则客户端停止响应。
其中,第一预设值根据经验进行设置,或者,通过有限次试验的统计结果进行设置。
例如:挑战确认模块220,用于若第一确认报文判定为合法,则向服务器端发送挑战确认(ACK)报文,并判断在设定时长1秒内挑战确认(ACK)报文的数量是否小于第一预设值30;
若第一确认报文判定为不合法,则客户端停止响应。
反馈模块230,用于若在设定时长内挑战确认(ACK)报文的发送数量小于第一预设值,则配置第二确认报文,并将第二确认报文发送至服务器端,以供服务器端判断第二确认报文是否合法;否则停止响应。
其中,配置第二确认报文,包括:
将客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将第一确认报文的序列号配置为第二确认报文的确认号。例如:反馈模块230,用于若在设定时长1秒内挑战确认(ACK)报文的发送数量20小于第一预设值 30,则客配置第二确认报文,并将第二确认报文发送至服务器端,以供服务器端判断第二确认报文是否合法。
其中,配置第二确认报文,包括:
将客户端已发送数据的序列号的最大值X配置为第二确认报文的序列号,并将第一确认报文的序列号Y配置为第二确认报文的确认号。又如:反馈模块 230,用于若在设定时长1秒内挑战确认(ACK)报文的发送数量40不小于第一预设值30,则停止响应。
本发明第四实施例的一种避免TCP报文乒乓的装置,能够在TCP连接受到数据注入攻击或其他异常情况下,有效自动停止TCP连接两端(客户端和服务器端)持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。
本发明第五实施例,一种避免TCP报文乒乓的方法,如图6所示,包括以下具体步骤:
步骤S501,当通信***端监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认(ACK)报文时,通信***端判断在设定时长内挑战确认(ACK)报文的数量是否小于第二预设值。
其中,第二预设值根据经验进行设置,或者根据有限次试验的统计结果进行设置,或者设置为随机值。
例如:步骤S501,当通信***端监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认(ACK)报文时,通信***端判断在设定时长1秒内挑战确认(ACK)报文的数量是否小于第二预设值35。
其中,第二预设值根据经验进行设置,或者根据有限次试验的统计结果进行设置,或者设置为随机值。
步骤S502,若判定在设定时长内挑战确认(ACK)报文的数量小于第二预设值,则通信***端控制客户端向服务器端发送第二确认报文;否则通信***端控制客户端停止响应。
其中,第二确认报文的序列号为客户端已发送数据的序列号的最大值;
第二确认报文的确认号为第一确认报文的序列号。
例如,步骤S502,若判定在设定时长1秒内挑战确认(ACK)报文的数量 20小于第二预设值35,则通信***端控制客户端向服务器端发送第二确认报文;
其中,第二确认报文的序列号为客户端已发送数据的序列号的最大值;
第二确认报文的确认号为第一确认报文的序列号。
又如:步骤S502,若判定在设定时长1秒内挑战确认(ACK)报文的数量 40不小于第二预设值35,则通信***端控制客户端停止响应。
本发明第六实施例,一种避免TCP报文乒乓的装置,设置于通信***端,如图7所示,包括以下组成部分:
第三判断模块310,用于当监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认(ACK)报文时,判断在设定时长内挑战确认 (ACK)报文的数量是否小于第二预设值。
其中,第二预设值根据经验进行设置,或者根据有限次试验的统计结果进行设置,或者设置为随机值。
例如:第三判断模块310,用于当监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认(ACK)报文时,判断在设定时长1秒内挑战确认(ACK)报文的数量是否小于第二预设值35。
其中,第二预设值根据经验进行设置,或者根据有限次试验的统计结果进行设置,或者设置为随机值。
执行摸快320,用于若判定在设定时长内挑战确认(ACK)报文的数量小于第二预设值,则控制客户端向服务器端发送第二确认报文;否则控制客户端停止响应。
其中,第二确认报文的序列号为客户端已发送数据的序列号的最大值;
第二确认报文的确认号为第一确认报文的序列号。
例如,执行摸快320,用于若判定在设定时长1秒内挑战确认(ACK)报文的数量20小于第二预设值35,则控制客户端向服务器端发送第二确认报文;
其中,第二确认报文的序列号为客户端已发送数据的序列号的最大值;
第二确认报文的确认号为第一确认报文的序列号。
又如:执行摸快320,用于若判定在设定时长1秒内挑战确认(ACK)报文的数量40不小于第二预设值35,则控制客户端停止响应。
本发明第七实施例,本实施例是在上述实施例的基础上,以一种TCP报文乒乓的方法为例,结合附图8介绍一个本发明的应用实例。
S701:攻击者对Server(服务器)端实施恶意数据注入攻击,攻击报文序列号为x,确认号为y,报文长度为z。
S702:当Server端收到攻击报文时,向Client(客户)端发送序列号为y、确认号为x+z的第一确认报文。
S703:当Client端收到第一确认报文时,检查第一确认报文的确认号,由于第一确认报文的确认号x+z大于Client端已发送数据的序列号最大值x,Client 端发起挑战ACK(确认)流程。
S704:挑战ACK流程中,Client端检查一秒内该连接发送的挑战ACK报文数量;若一秒内该连接(Server端与Client端的连接)Client端发送挑战ACK 报文数量小于预设值,则跳转至步骤S706;否则跳转至步骤S707。
S705:挑战ACK流程中,通信***检查一秒内通信***发送的挑战ACK 报文的数量,如果一秒内***发送挑战ACK数量小于预设的随机值,则跳转至步骤S706;否则跳转至步骤S707。
S706:Client端发送序列号为x、确认号为y的第二确认报文至Server端,并跳转至步骤S708。
S707:Client端结束处理流程,不再发送确认报文;
S708:Server端收到Client端发送的第二确认报文后,由于第二确认报文的序列号x小于Server端期望接收确认报文的序列号x+z,按照TCP协议规定需要再次向Client端发送序列号为y、确认号为x+z的第一确认报文,然后跳转至步骤S703。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (16)
1.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:
服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;
服务器端接收所述客户端发送的挑战确认报文,且在设定时长内接收到的所述挑战确认报文的数量小于第一预设值;
在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。
2.根据权利要求1所述的方法,其特征在于,所述服务器端基于接收到的TCP报文配置第一确认报文,包括:
所述服务器端基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
3.根据权利要求2所述的方法,其特征在于,所述服务器端判断所述第二确认报文是否合法,包括:
服务器端判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;
若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。
4.一种避免传输控制协议TCP报文乒乓的装置,设置于服务器端,其特征在于,包括:
配置模块,用于基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;
第一判断模块,用于在所述配置模块将所述第一确认报文发送至客户端之后,接收挑战确认报文,且在设定时长内接收到的所述挑战确认报文的数量小于第一预设值,并在接收到的所述客户端发送的第二确认报文的情况下,判断所述第二确认报文是否合法;若第二确认报文判定为合法,则再次向客户端发送所述第一确认报文;否则停止向客户端发送第一确认报文。
5.根据权利要求4所述的装置,其特征在于,所述基于接收到的TCP报文配置第一确认报文,包括:
基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。
6.根据权利要求5所述的装置,其特征在于,所述判断所述第二确认报文是否合法,包括:
判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;
若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。
7.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:
客户端判断接收到的服务器端发送的第一确认报文是否合法;
若所述第一确认报文判定为合法,则所述客户端向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则所述客户端停止响应;
若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则所述客户端配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则所述客户端停止响应。
8.根据权利要求7所述的方法,其特征在于,所述客户端判断接收到的服务器端发送的第一确认报文是否合法,包括:
所述客户端判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;
若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。
9.根据权利要求7或8所述的方法,其特征在于,所述客户端配置第二确认报文,包括:
所述客户端将所述客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将所述第一确认报文的序列号配置为第二确认报文的确认号。
10.一种避免传输控制协议TCP报文乒乓的装置,设置于客户端,其特征在于,包括:
第二判断模块,用于判断接收到的服务器端发送的第一确认报文是否合法;
挑战确认模块,用于若所述第一确认报文判定为合法,则所向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则停止响应;
反馈模块,用于若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则停止响应。
11.根据权利要求10所述的装置,其特征在于,所述判断接收到的服务器端发送的第一确认报文是否合法,包括:
判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;
若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。
12.根据权利要求10或11所述的装置,其特征在于,所述配置第二确认报文,包括:
将所述客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将所述第一确认报文的序列号配置为第二确认报文的确认号。
13.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:
当通信***端监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认报文时,通信***端判断在设定时长内所述挑战确认报文的数量是否小于第二预设值;
若判定在设定时长内所述挑战确认报文的数量小于第二预设值,则通信***端控制所述客户端向所述服务器端发送第二确认报文;否则通信***端控制所述客户端停止响应。
14.根据权利要求13所述的方法,其特征在于,所述第二确认报文的序列号为所述客户端已发送数据的序列号的最大值;
所述第二确认报文的确认号为所述第一确认报文的序列号。
15.一种避免传输控制协议TCP报文乒乓的装置,设置于通信***端,其特征在于,包括:
第三判断模块,用于当监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认报文时,通信***端判断在设定时长内所述挑战确认报文的数量是否小于第二预设值;
执行摸快,用于若判定在设定时长内所述挑战确认报文的数量小于第二预设值,则控制所述客户端向所述服务器端发送第二确认报文;否则通信***端控制所述客户端停止响应。
16.根据权利要求15所述的装置,其特征在于,所述第二确认报文的序列号为所述客户端已发送数据的序列号的最大值;
所述第二确认报文的确认号为所述第一确认报文的序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710083050.4A CN108449280B (zh) | 2017-02-16 | 2017-02-16 | 一种避免tcp报文乒乓的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710083050.4A CN108449280B (zh) | 2017-02-16 | 2017-02-16 | 一种避免tcp报文乒乓的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108449280A CN108449280A (zh) | 2018-08-24 |
CN108449280B true CN108449280B (zh) | 2023-03-07 |
Family
ID=63190528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710083050.4A Active CN108449280B (zh) | 2017-02-16 | 2017-02-16 | 一种避免tcp报文乒乓的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108449280B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198298B (zh) * | 2018-10-11 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及存储介质 |
CN110958264A (zh) * | 2019-12-13 | 2020-04-03 | 电子科技大学中山学院 | 一种基于tcp/ip协议的服务器通信方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527632A (zh) * | 2008-03-06 | 2009-09-09 | 华为技术有限公司 | 响应消息认证方法、装置及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266754B2 (en) * | 2003-08-14 | 2007-09-04 | Cisco Technology, Inc. | Detecting network denial of service attacks |
US7114181B2 (en) * | 2004-01-16 | 2006-09-26 | Cisco Technology, Inc. | Preventing network data injection attacks |
-
2017
- 2017-02-16 CN CN201710083050.4A patent/CN108449280B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527632A (zh) * | 2008-03-06 | 2009-09-09 | 华为技术有限公司 | 响应消息认证方法、装置及*** |
Non-Patent Citations (2)
Title |
---|
"R2-1700191 UP enhancements for TCP performance".《3GPP tsg_ran\WG2_RL2》.2017, * |
深度解答:分析TCP会话劫持全过程情况;网友;《ZOL中关村在线》;20100913;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108449280A (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108551446B (zh) | 防攻击的syn报文处理方法、装置、防火墙及存储介质 | |
CN101202742B (zh) | 一种防止拒绝服务攻击的方法和*** | |
US7404210B2 (en) | Method and apparatus for defending against distributed denial of service attacks on TCP servers by TCP stateless hogs | |
CN101636968A (zh) | 使用传输控制协议状态转换防止拒绝服务攻击的方法 | |
CN110266678B (zh) | 安全攻击检测方法、装置、计算机设备及存储介质 | |
CN100420197C (zh) | 一种实现网络设备防攻击的方法 | |
CN102510385A (zh) | 防ip数据报分片攻击的方法 | |
CN108810008B (zh) | 传输控制协议流量过滤方法、装置、服务器及存储介质 | |
CN108449280B (zh) | 一种避免tcp报文乒乓的方法及装置 | |
CN107454065B (zh) | 一种UDP Flood攻击的防护方法及装置 | |
US7752670B2 (en) | Detecting an attack of a network connection | |
WO2011012004A1 (zh) | 一种实现网络流量清洗的方法及*** | |
CA2548344A1 (en) | Preventing network reset denial of service attacks | |
CN104283716A (zh) | 数据传输方法、设备及*** | |
KR101463873B1 (ko) | 정보 유출 차단 장치 및 방법 | |
EP3417585B1 (en) | Terminal and communication method thereof | |
CN105991509A (zh) | 会话处理方法及装置 | |
CN107395550A (zh) | 一种网络攻击的防御方法及服务器 | |
CN104601484B (zh) | 一种tcp卸载引擎的发送单元 | |
JP4391455B2 (ja) | DDoS攻撃に対する不正アクセス検知システム及びプログラム | |
KR101269552B1 (ko) | Http를 이용한 통신에서 불완전한 get 요청 메시지에 의한 서비스 거부 공격을 탐지하는 방법 및 그 장치 | |
TWI427995B (zh) | 用戶端設備及其防止攻擊的方法 | |
JP5009200B2 (ja) | ネットワーク攻撃検出装置及び防御装置 | |
US20180241770A1 (en) | Communication system and repeater | |
CN114124489B (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 |