Tcp旁路阻断的方法及装置的制造方法

文档序号:10578127阅读:1027来源:国知局
Tcp旁路阻断的方法及装置的制造方法
【专利摘要】本申请提供一种传输控制协议TCP旁路阻断的方法及装置,所述方法包括:基于获取到的客户端与服务端之间传输的TCP握手报文获得协商最大分段长度MSS值;当监听到可疑报文时,根据所述可疑报文以及所述协商MSS值构造复位连接RST报文;分别向客户端和服务端发送所述RST报文以阻断所述可疑报文;当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的所述RST报文包括SEQ值依次递增至少一个所述协商MSS值的多个RST报文;当所述可疑报文为所述服务端发出的报文时,向所述服务端发出的RST报文包括SEQ值依次递增至少一个所述协商MSS值的多个RST报文。本申请中,由于可以分别向客户端和服务端发送多个RST报文,因此,可以解决现有技术阻断成功率低的问题。
【专利说明】
TCP旁路阻断的方法及装置
技术领域
[0001 ] 本申请设及通信技术领域,特别设及一种TCPdYansmission Control Protocol, 传输控制协议)旁路阻断的方法及装置。
【背景技术】
[0002] 在相关技术中,服务端与客户端之间建立TCP连接之后,可W在服务端和客户端之 间部署监听设备。当监听设备监听到可疑报文时,可W向客户端或服务端发送构造的阻断 报文一一RST(Reset,复位重连)报文。当客户端或服务端接收到构造的RS巧良文后,会将已 经建立的TCP连接断开,从而达到阻断可疑报文攻击的目的。
[0003] 现有技术中,监听设备在监听到可疑报文时,会向客户端或者服务端发送构造的 RS巧良文。由于RS巧良文很有可能晚于可疑报文发送至客户端或服务端,因此,客户端或服务 端在接收到所述RS巧良文后,会因为它是"过时"的报文而不对其进行处理。因此,所述RS巧良 文无法达到阻断可疑报文攻击的目的。故现有技术的阻断成功率低。

【发明内容】

[0004] 有鉴于此,本申请提供一种TCP旁路阻断的方法及装置,来解决现有技术旁路阻断 成功率低的问题。
[0005] 具体地,本申请是通过如下技术方案实现的:
[0006] 根据本申请实施例的第一方面,提供一种TCP旁路阻断的方法,所述方法应用于深 度包检测DPI设备上,所述DPI设备在客户端与服务端之间,所述方法包括:
[0007] 基于获取到的客户端与服务端之间传输的TCP握手报文获得协商最大分段长度 MSS 值;
[000引当监听到可疑报文时,根据所述可疑报文W及所述协商MSS值构造复位连接RS巧良 文;
[0009] 分别向客户端和服务端发送所述RS巧良文W阻断所述可疑报文;
[0010] 当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的所述RS巧良文 包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文;当所述可疑报文为所述服务 端发出的报文时,向所述服务端发出的RS巧良文包括SEQ值依次递增至少一个所述协商MSS 值的多个RS巧良文。
[0011] 根据本申请实施例的第二方面,提供一种TCP旁路阻断的装置,所述装置应用于深 度包检测DPI设备上,所述DPI设备在客户端与服务端之间,所述装置包括:
[0012] 获取单元,用于基于获取到的客户端与服务端之间传输的TCP握手报文获得协商 最大分段长度MSS值;
[0013] 构造单元,用于当监听到可疑报文时,根据所述可疑报文W及所述协商MSS值构造 复位连接RS巧良文;
[0014] 阻断单元,用于分别向客户端和服务端发送所述RS巧良文W阻断所述可疑报文;
[0015] 发送单元,用于当所述可疑报文为所述客户端发出的报文时,向所述客户端发送 的所述RS巧良文包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文;当所述可疑报 文为所述服务端发出的报文时,向所述服务端发出的RS巧良文包括SEQ值依次递增至少一个 所述协商MSS值的多个RS巧良文。
[0016] 本申请提供TCP旁路阻断的方法及装置,获取到客户端和服务端之间传输的TCP握 手报文后,可W从获取到的所述报文中获得协商MSS值。当监听到可疑报文时,可W根据所 述协商MSS值和所述可疑报文构造 RS巧良文,然后可W分别向客户端和服务端发送所述RST 报文W阻断所述可疑报文。本申请中,由于可W分别向客户端和服务端发送多个RS巧良文, 因此,可W解决现有技术阻断成功率低的问题。
【附图说明】
[0017] 图1是应用本申请实施例实现TCP旁路阻断的一个应用场景图;
[0018] 图2是本申请TCP旁路阻断的方法的一个实施例流程图;
[0019] 图3是本申请TCP旁路阻断的装置所在设备的一种硬件结构图;
[0020] 图4是本申请TCP旁路阻断的装置的一个实施例框图。
【具体实施方式】
[0021] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0022] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0023] 应当理解,尽管在本申请可能采用术语第一、第二、第=等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0024] 参见图1,为应用本申请实施例实现TCP旁路阻断的一个应用场景图。其中,DPI (De邱化Cket Inspection,深度包检测)设备与客户端和服务端相连,且位于客户端和服 务端之间。所述DPI设备可W为一个旁路监听设备。当监听到客户端与服务端之间传输的可 疑报文时,所述DPI设备可W构造阻断报文一一RS巧良文,然后将构造的RS巧良文发送至客户 端或服务端,从而达到阻断可疑报文攻击的目的。
[0025] 现有技术中,所述DPI设备监听到可疑报文后,会向客户端或者服务端发送RS巧良 文。但是由于所述RS巧良文很有可能晚于可疑报文发送至客户端或服务端,因此所述客户端 或服务端在接收到所述RS巧良文后,会因为它是"过时"的报文而不对其进行处理。因此,所 述RS巧良文无法达到阻断可疑报文攻击的目的。故现有技术的阻断成功率低。
[0026] 在本申请中,客户端和服务端建立TCP连接时,所述DPI设备可W从客户端和服务 端的握手报文中获取协商MSS值。当发现客户端与服务端之间传输的可疑报文时,所述DPI 设备可W根据所述可疑报文和所述协商MSS值构造 RS巧良文。所述RS巧良文构造成功后,所述 DPI设备可W向客户端和服务端发送所述RS巧良文W阻断所述可疑报文。采用本申请,可W 增大RS巧良文"不过时"的概率,从而达到提高阻断成功率的目的。
[0027] 参见图2,为本申请TCP旁路阻断的方法的一个实施例流程图,该实施例应用于DPI 设备上,包括了 W下步骤:
[00%]步骤201:基于获取到的客户端与服务端之间传输的TCP握手报文获得协商最大分 段长度MSS值。
[0029] 当客户端与服务端之间建立TCP连接时,所述DPI设备可W基于获取到的客户端与 服务端之间传输的TCP握手报文获得协商MSS值。所述DPI设备可W在客户端与服务端进行 S次握手时,监听所述握手报文。所述DPI设备可W从监听到的客户端发送至服务端的第一 次握手报文SYN报文中获取第一 MSS值,从监听到的服务端发送至客户端的第二次握手报文 ACK报文中获取第二MSS值,然后所述DPI设备可W将第一 MSS值和第二MSS值中较小或者较 大的MSS值作为协商MSS值。
[0030] 在一个示例中,假设所述DPI设备从所述第一次握手报文中获取的第一MSS值为 1400,从所述第二次握手报文中获取的第二MSS值为1200。然后,所述DPI设备可W将所述第 一 MSS值与所述第二MSS值做比较,选择两者中较小或较大的那个作为协商MSS值。因此,所 述DPI设备可W选择1200或1400作为协商MSS值。
[0031] 获取到协商MSS值后,所述DPI设备可W将所述协商MSS值存储到会话表中。所述会 话表可W位于所述DPI设备上。所述会话表可W包含报文的五元组信息W及对应的协商MSS 值。
[0032] 在一个示例中,假设所述会话表可W如下表1所示(表1仅展示出部分所述会话表 的信息): r00331 L0034J 表 1
[0035] 步骤202:当监听到可疑报文时,根据所述可疑报文W及所述协商MSS值构造复位 连接RS巧良文。
[0036] 客户端和服务端建立TCP连接后,所述DPI设备可W监听客户端和服务端之间传输 的数据报文。当DPI设备监听到可疑报文时,可W根据所述可疑报文W及所述协商MSS值构 造 RS巧良文,所述RS巧良文可W用于阻断所述可疑报文。
[0037] 在一个示例中,当客户端或服务端接收到RS巧良文时,可W先检查所述RS巧良文的 ACK位。当所述RS巧良文的ACK位不为0时,客户端或者服务端需要继续检查所述RS巧良文的 ACK_SEQ值;当所述RS巧良文的ACK位为加寸,客户端或者服务端在检查了所述RS巧良文的ACK 位之后,可W不再检查所述RS巧良文的ACK_SEQ值。
[003引由上述示例可知,在构造所述RS巧良文时,可W将所述RS巧良文的ACK位置O。由于所 述RS巧良文可W用于阻断所述可疑报文,因此可W将所述RS巧良文的RST位置1。
[0039] 然后,可W根据所述可疑报文W及所述协商MSS值分别构造向所述客户端W及所 述服务端发送的RS巧良文。
[0040] 所述RS巧良文可W具体分为两种:源方向RS巧良文和目的方向RS巧良文。其中,源方 向RS巧良文为报文接收端与可疑报文接收端相同的RS巧良文,例如,当客户端向服务端发送 可疑报文时,由DPI设备发送至服务端的RS巧良文可W称为源方向RS巧良文;目的方向RS巧良 文为报文接收端与可疑报文接收端不同的RS巧良文,例如,当客户端向服务端发送可疑报文 时,由DPI设备发送至客户端的RS巧良文可W称为目的方向RS巧良文。所述源方向RS巧良文与 目的方向RS巧良文的构造过程略有不同,下面将分别进行介绍:
[0041] 当所述可疑报文的接收端与需要构造的RS巧良文的接收端相同时,可W根据所述 可疑报文W及所述协商MSS值构造源方向RS巧良文。构造所述源方向RS巧良文时,可W首先将 所述源方向RS巧良文的ACK位置0,RST位置1。然后,可W将所述源方向RS巧良文的数据序号 SEQ值设置为与所述可疑报文的ACK_SEQ值相等。所述源方向RS巧良文的W上部分设置完成 后,可W将其他部分设置为与所述可疑报文相同。
[0042] 当所述可疑报文的接收端与需要构造的RS巧良文的接收端不同时,可W根据所述 可疑报文W及所述协商MSS值构造目的方向RS巧良文,其中,目的方向RS巧良文可W包括数据 序号SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文。构造所述目的方向RS巧良文 时,可W先将所述目的方向RS巧良文的所有RS巧良文的ACK位都置0,RST位都置1。然后,可W 将所述目的方向RS巧良文的第一个RS巧良文的SEQ值设置为所述可疑报文的ACK_SEQ值与所 述可疑报文的TCP负载长度值之和;可W将所述目的方向RS巧良文的第二个RS巧良文设置为 所述目的方向RS巧良文的第一个RS巧良文的沈Q值与至少一个所述协商MSS值之和;可W将所 述目的方向RS巧良文的第S个RS巧良文设置为所述目的方向RS巧良文的第二个RS巧良文的SEQ 值与至少一个所述协商MSS值之和,W此类推,所述目的方向RS巧良文的每个RS巧良文的SEQ 值都比其前一个RS巧良文至少多一个所述协商MSS值。所述目的方向RS巧良文的所有RS巧良文 的SEQ值设置完成后,可W将所有RS巧良文的其他部分设置为与所述可疑报文相同。
[0043] 当然,所述目的方向RS巧良文的每个RS巧良文的SEQ值可W是线性递增的。
[0044] 在一个优化的示例中,所述目的方向RS巧良文的每个RS巧良文的SEQ值可W线性递 增一个所述协商MSS值。
[0045] 由上述过程可知,在一个示例中,当所述可疑报文为所述客户端发出的报文时,可 W向所述客户端发送的RS巧良文包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良 文,W及可W向所述服务端发送的RS巧良文的SEQ值与所述可疑报文的ACK_SEQ值相同。
[0046] 在另一个示例中,当所述可疑报文为所述服务端发出的报文时,可W向所述客户 端发送的RS巧良文的SEQ值与所述可疑报文的ACK_SEQ值相同,W及可W向所述服务端发送 的RS巧良文包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文。
[0047] 步骤203:分别向客户端和服务端发送所述RS巧良文W阻断所述可疑报文。
[0048] 步骤204:当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的所述 RS巧良文包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文;当所述可疑报文为所 述服务端发出的报文时,向所述服务端发出的RS巧良文包括SEQ值依次递增至少一个所述协 商MSS值的多个RS巧良文。
[0049] 根据所述可疑报文W及所述协商MSS值构造 RS巧良文之后,可W分别向客户端和服 务端发送所述RST文W阻断所述可疑报文。
[0050] 其中,当所述可疑报文为正向报文时,可W分别向客户端和服务端发送第一目的 方向RS巧良文和第一源方向RS巧良文,其中,所述正向报文为客户端发送至服务端的报文。
[0051] 当所述可疑报文为反向报文时,可W分别向客户端和服务端发送第二源方向RST 报文和第二目的方向RS巧良文,其中,所述反向报文为服务端发送至客户端的报文,所述第 二目的方向RS巧良文的RS巧良文数量可W多于第一目的方向RS巧良文的RS巧良文数量。
[0052] 在一个示例中,根据工程经验值,所述第一目的方向RS巧良文可W包括3个RS巧良 文,且每个RS巧良文的SEQ值都比其前一个RS巧良文至少多一个所述协商MSS值;所述第二目 的方向RS巧良文可W包括5个RS巧良文,且每个RS巧良文的SEQ值都比其前一个RS巧良文至少多 一个所述协商MSS值。
[0053] 本申请提供TCP旁路阻断的方法及装置,获取到客户端和服务端之间传输的TCP握 手报文后,可W从获取到的所述报文中获得协商MSS值。当监听到可疑报文时,可W根据所 述协商MSS值和所述可疑报文构造 RS巧良文,然后可W分别向客户端和服务端发送所述RST 报文W阻断所述可疑报文。本申请中,因为可W分别向客户端和服务端发送多个RS巧良文, 因此,可W解决现有技术阻断成功率低的问题。
[0054] 下面通过具体实施例对W上实施例进行详细说明:
[0055] 当客户端和服务端之间建立TCP连接时,DPI设备可W根据客户端发送至服务端的 SYN报文获取第一MSS值,然后可W根据服务端发送至客户端的ACK报文获取第二MSS值。获 取到第一 MSS值和第二MSS值后,所述DPI设备可W选择两者中较大或者较小的那个作为协 商MSS值。
[0056] DPI设备确定协商MSS值后,可W将所述协商MSS值存储到其上预设的会话表中。当 需要使用所述协商MSS值时,可W从所述会话表中获取。关于所述会话表的具体信息可W见 上表1。
[0057] 当监听到可疑报文时,可W先根据所述可疑报文的报文信息,如五元组信息等,从 上述会话表中获得对应的协商MSS值。
[0058] 获取到协商MSS值后,所述DPI设备可W根据所述可疑报文和所述协商MSS值构造 RS巧良文W阻断所述可疑报文。
[0059] 下面详细介绍所述RS巧良文的构造过程:
[0060] RS巧良文可W包括源方向RS巧良文和目的方向RS巧良文。其中,源方向RS巧良文可W 是报文接收端与所述可疑报文接收端相同的RS巧良文;目的方向RS巧良文可W是报文接收端 与所述可疑报文接收端不同的RS巧良文。需要说明的是,目的方向RS巧良文可W包括数据序 号SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文。
[0061] 在构造源方向RS巧良文时,为了使所述源方向RS巧良文可W较快地被客户端或服务 端识别并发挥其阻断可疑报文的作用,所述DPI设备可W先将所述源方向RS巧良文的ACK为 可W置0,RST位置1。然后从接收到的所述可疑报文中获取ACK_SEQ值,然后将源方向RS巧良 文的SEQ值设置为与所述可疑报文的ACK_SEQ值相等。设置成功后,将所述源方向RS巧良文的 其他内容保持与所述可疑报文一致。
[0062] 在构造目的方向RS巧良文时,为了使所述目的方向RS巧良文可W较快地被客户端或 服务端识别并发挥其阻断可疑报文的作用,所述DPI设备同样可W先将所述目的方向RS巧良 文的ACK为可W置0,RST位置1。然后可W从接收到的所述可疑报文中获取ACK_SEQ值,并将 目的方向RS巧良文的第一个RS巧良文的SEQ值设置为与所述可疑报文的ACK_SEQ值和所述可 疑报文的TCP负载长度之和相等。设置成功后,可W将所述目的方向RS巧良文的第一个RS巧良 文的其他内容保持与所述可疑报文一致。
[0063] 在将所述目的方向RS巧良文的第一个RS巧良文设置成功后,可W设置所述目的RST 报文的第二个RS巧良文。所述DPI设备可W将目的方向RS巧良文的第二个RS巧良文的SEQ值设 置为与目的方向RS巧良文的第一个RS巧良文的SEQ值与至少一个所述协商MSS值之和相等。设 置成功后,所述目的方向RS巧良文的第二个RS巧良文的ACK为可W置0,然后将其他内容保持 与所述可疑报文一致。在将所述目的方向RS巧良文的第二个RS巧良文设置成功后,可W设置 所述目的RS巧良文的第=个RS巧良文。同样地,所述目的RS巧良文的第=个RS巧良文的SEQ值比 所述目的RS巧良文的第二个RS巧良文的SEQ值增加了至少一个所述协商MSS值,其余内容可W 与所述目的RS巧良文的第二个RS巧良文保持一致。
[0064] 需要说明的是,所述目的方向RS巧良文的每个RS巧良文的SEQ值可W是线性递增的。 当所述目的方向RS巧良文的每个RS巧良文的SEQ值线性递增一个所述协商MSS值时,可W视为 一个优化的示例。
[0065] 所述目的报文的RS巧良文可W包括多个RS巧良文,例如,可W包括3个。
[0066] RS巧良文构造完成后,可W分别向客户端和服务端发送所述RS巧良文W阻断所述可 疑报文。但是,由于所述可疑报文可W包括正向报文和反向报文,因此,所述RS巧良文在发送 时可W根据可疑报文的具体情况而有所改变。
[0067] 在一个示例中,所述可疑报文可W为由客户端发送至服务端的正向报文。此时, DPI设备在构造了RS巧良文后,可W向客户端发送第一目的方向RS巧良文,向服务端发送第一 源方向RS巧良文。其中,根据工程经验值,第一源方向RS巧良文可W包括3个RS巧良文。
[0068] 在另一个示例中,所述可疑报文可W为由服务端发送至客户端的反向报文。此时, DPI设备在构造了RS巧良文后,可W向客户端发送第二目的方向RS巧良文,向服务端发送第二 源方向RS巧良文。其中,第二源方向RS巧良文的RS巧良文数量可W比第一源方向RS巧良文多,例 如,根据工程经验值,第二源方向RS巧良文可W包括5个RS巧良文。
[0069] 本申请提供TCP旁路阻断的方法及装置,获取到客户端和服务端之间传输的TCP握 手报文后,可W从获取到的所述报文中获得协商MSS值。当监听到可疑报文时,可W根据所 述协商MSS值和所述可疑报文构造 RS巧良文,然后可W分别向客户端和服务端发送所述RST 报文W阻断所述可疑报文。本申请中,因为可W分别向客户端和服务端发送多个RS巧良文, 因此,可W解决现有技术阻断成功率低的问题。
[0070] 与前述TCP旁路阻断的方法的实施例相对应,本申请还提供了 TCP旁路阻断的装置 的实施例。
[0071] 本申请TCP旁路阻断的装置的实施例可W应用在DPI设备上。装置实施例可W通过 软件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为例,作为一个逻辑意 义上的装置,是通过其所在设备的处理端将非易失性存储端中对应的计算机程序指令读取 到内存中运行形成的。从硬件层面而言,如图3所示,为本申请TCP旁路阻断的装置所在设备 的一种硬件结构图,除了图3所示的处理端、内存、网络接口、W及非易失性存储端之外,实 施例中装置所在的设备通常还可W包括其他硬件,如负责处理报文的转发忍片等等。
[0072] 请参考图4,为本申请TCP旁路阻断的装置的一个实施例框图:
[0073] 该装置可W包括:获取单元410、构造单元420、阻断单元430 W及发送单元440。
[0074] 获取单元410,用于基于获取到的客户端与服务端之间传输的TCP握手报文获得协 商最大分段长度MSS值;
[0075] 构造单元420,用于当监听到可疑报文时,根据所述可疑报文W及所述协商MSS值 构造复位连接RS巧良文;
[0076] 阻断单元430,用于分别向客户端和服务端发送所述RS巧良文W阻断所述可疑报 文;
[0077] 发送单元440,用于当所述可疑报文为所述客户端发出的报文时,向所述客户端发 送的所述RS巧良文包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文;当所述可疑 报文为所述服务端发出的报文时,向所述服务端发出的RS巧良文包括SEQ值依次递增至少一 个所述协商MSS值的多个RS巧良文。
[0078] 在一个可选的实现方式中,所述获取单元410可W具体用于:
[0079] 从客户端发送至服务端的第一次握手报文SYN报文中获取第一 MSS值;
[0080] 从服务端发送至客户端的第二次握手报文AO(报文中获取第二MSS值;
[0081 ] 将第一 MSS值和第二MSS值中较小或者较大的MSS值作为协商MSS值。
[0082] 在一个可选的实现方式中,所述RS巧良文的ACK位均置为0;RST位均置为1;
[0083] 所述构造单元420可W具体用于:
[0084] 根据所述可疑报文W及所述协商MSS值分别构造向所述客户端W及所述服务端发 送的RS巧良文;
[0085] 其中,当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的RS巧良文 包括SEQ值依次递增至少一个所述协商MSS值的多个RS巧良文;向所述服务端发送的RS巧良文 的SEQ值与所述可疑报文的ACK_SEQ值相同;
[0086] 当所述可疑报文为所述服务端发出的报文时,向所述客户端发送的RS巧良文的SEQ 值与所述可疑报文的ACK_SEQ值相同;向所述服务端发送的RS巧良文包括SEQ值依次递增至 少一个所述协商MSS值的多个RS巧良文。
[0087] 在一个可选的实现方式中,所述阻断单元430可W具体用于:
[0088] 当所述可疑报文为所述客户端发出的报文时,将构造完成的SEQ值依次递增至少 一个所述协商MSS值的多个RS巧良文依次发送至所述客户端,W及将构造完成的SEQ值与所 述可疑报文相同的RS巧良文发送至所述服务端;
[0089] 当所述可疑报文为所述服务端发出的报文时,将构造完成的SEQ值依次递增至少 一个所述协商MSS值的多个RS巧良文依次发送至所述服务端,W及将构造完成的SEQ值与所 述可疑报文相同的RS巧良文发送至所述客户端。
[0090] 在一个可选的实现方式中,当发送的RS巧良文包括SEQ值依次递增至少一个所述协 商MSS值的多个RS巧良文时,所述多个RS巧良文的SEQ值线性递增。
[0091] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0092] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0093] 本申请提供TCP旁路阻断的方法及装置,获取到客户端和服务端之间传输的TCP握 手报文后,可W从获取到的所述报文中获得协商MSS值。当监听到可疑报文时,可W根据所 述协商MSS值和所述可疑报文构造 RS巧良文,然后可W分别向客户端和服务端发送所述RST 报文W阻断所述可疑报文。本申请中,因为可W分别向客户端和服务端发送多个RS巧良文, 因此,可W解决现有技术阻断成功率低的问题。
[0094] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种传输控制协议TCP旁路阻断的方法,其特征在于,所述方法应用于深度包检测 DPI设备上,所述DPI设备在客户端与服务端之间,所述方法包括: 基于获取到的客户端与服务端之间传输的TCP握手报文获得协商最大分段长度MSS值; 当监听到可疑报文时,根据所述可疑报文以及所述协商MSS值构造复位连接RST报文; 分别向客户端和服务端发送所述RST报文以阻断所述可疑报文; 当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的所述RST报文包括 SEQ值依次递增至少一个所述协商MSS值的多个RST报文;当所述可疑报文为所述服务端发 出的报文时,向所述服务端发出的RST报文包括SEQ值依次递增至少一个所述协商MSS值的 多个RST报文。2. 根据权利要求1所述的方法,其特征在于,所述基于获取到的客户端与服务端之间传 输的TCP握手报文获得协商MSS值,包括: 从客户端发送至服务端的第一次握手报文SYN报文中获取第一 MSS值; 从服务端发送至客户端的第二次握手报文ACK报文中获取第二MSS值; 将第一 MSS值和第二MSS值中较小或者较大的MSS值作为协商MSS值。3. 根据权利要求1所述的方法,其特征在于,所述RST报文的ACK位均置为0;RST位均置 为1; 所述根据所述可疑报文以及所述协商MSS值构造 RST报文,包括: 根据所述可疑报文以及所述协商MSS值分别构造向所述客户端以及所述服务端发送的 RST报文; 其中,当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的RST报文包括 SEQ值依次递增至少一个所述协商MSS值的多个RST报文;向所述服务端发送的RST报文的 SEQ值与所述可疑报文的ACK_SEQ值相同; 当所述可疑报文为所述服务端发出的报文时,向所述客户端发送的RST报文的SEQ值与 所述可疑报文的ACK_SEQ值相同;向所述服务端发送的RST报文包括SEQ值依次递增至少一 个所述协商MSS值的多个RST报文。4. 根据权利要求3所述的方法,其特征在于,所述分别向客户端和服务端发送所述RST 报文以阻断所述可疑报文,包括: 当所述可疑报文为所述客户端发出的报文时,将构造完成的SEQ值依次递增至少一个 所述协商MSS值的多个RST报文依次发送至所述客户端,以及将构造完成的SEQ值与所述可 疑报文相同的RST报文发送至所述服务端; 当所述可疑报文为所述服务端发出的报文时,将构造完成的SEQ值依次递增至少一个 所述协商MSS值的多个RST报文依次发送至所述服务端,以及将构造完成的SEQ值与所述可 疑报文相同的RST报文发送至所述客户端。5. 根据权利要求3所述的方法,其特征在于,当发送的RST报文包括SEQ值依次递增至少 一个所述协商MSS值的多个RST报文时,所述多个RST报文的SEQ值线性递增。6. -种传输控制协议TCP旁路阻断的装置,其特征在于,所述装置应用于深度包检测 DPI设备上,所述DPI设备在客户端与服务端之间,所述装置包括: 获取单元,用于基于获取到的客户端与服务端之间传输的TCP握手报文获得协商最大 分段长度MSS值; 构造单元,用于当监听到可疑报文时,根据所述可疑报文以及所述协商MSS值构造复位 连接RST报文; 阻断单元,用于分别向客户端和服务端发送所述RST报文以阻断所述可疑报文; 发送单元,用于当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的所 述RST报文包括SEQ值依次递增至少一个所述协商MSS值的多个RST报文;当所述可疑报文为 所述服务端发出的报文时,向所述服务端发出的RST报文包括SEQ值依次递增至少一个所述 协商MSS值的多个RST报文。7. 根据权利要求6所述的装置,其特征在于,所述获取单元具体用于: 从客户端发送至服务端的第一次握手报文SYN报文中获取第一 MSS值; 从服务端发送至客户端的第二次握手报文ACK报文中获取第二MSS值; 将第一 MSS值和第二MSS值中较小或者较大的MSS值作为协商MSS值。8. 根据权利要求6所述的装置,其特征在于,所述RST报文的ACK位均置为0 ; RST位均置 为1; 所述构造单元具体用于: 根据所述可疑报文以及所述协商MSS值分别构造向所述客户端以及所述服务端发送的 RST报文; 其中,当所述可疑报文为所述客户端发出的报文时,向所述客户端发送的RST报文包括 SEQ值依次递增至少一个所述协商MSS值的多个RST报文;向所述服务端发送的RST报文的 SEQ值与所述可疑报文的ACK_SEQ值相同; 当所述可疑报文为所述服务端发出的报文时,向所述客户端发送的RST报文的SEQ值与 所述可疑报文的ACK_SEQ值相同;向所述服务端发送的RST报文包括SEQ值依次递增至少一 个所述协商MSS值的多个RST报文。9. 根据权利要求8所述的装置,其特征在于,所述阻断单元具体用于: 当所述可疑报文为所述客户端发出的报文时,将构造完成的SEQ值依次递增至少一个 所述协商MSS值的多个RST报文依次发送至所述客户端,以及将构造完成的SEQ值与所述可 疑报文相同的RST报文发送至所述服务端; 当所述可疑报文为所述服务端发出的报文时,将构造完成的SEQ值依次递增至少一个 所述协商MSS值的多个RST报文依次发送至所述服务端,以及将构造完成的SEQ值与所述可 疑报文相同的RST报文发送至所述客户端。10. 根据权利要求8所述的装置,其特征在于,当发送的RST报文包括SEQ值依次递增至 少一个所述协商MSS值的多个RST报文时,所述多个RST报文的SEQ值线性递增。
【文档编号】H04L29/08GK105939325SQ201610018371
【公开日】2016年9月14日
【申请日】2016年1月12日
【发明人】朱梁
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1