缓解攻击方法、序列号提供方法及设备
技术领域
本发明涉及网络安全领域,特别涉及一种缓解攻击方法、序列号提供方法及设备。
背景技术
传输控制协议(英文全称为Transmission Control Protocol,英文缩写为TCP)是一种面向连接的、可靠的、基于字节流的运输层(英文全称为Transport layer)通信协议,在简化的计算机网络OSI模型中,它完成第四层运输层所指定的功能。
请参考图1,其示出了现有技术中的一种TCP连接建立方法的方法流程图。该TCP连接建立方法包括:第一,客户端向服务器发送包含初始序列号为X的传输控制协议同步(英文全称为Transmission Control Protocol synchronize,英文缩写为TCP SYN)数据包,该TCP SYN数据包中包含有该客户端的识别信息,用于发起TCP请求;第二,服务器接收到客户端发送的该包含初始序列号为X的TCP SYN数据包后,反馈一个ACK+SYN数据包,所述ACK+SYN数据包是指ACK位和SYN位都置为1的TCP数据包,所述ACK+SYN数据包是TCP规定的对TCPSYN数据包的相应,该ACK+SYN数据包中包含确认序列号X+1和另一个初始序列号Y;第三,客户端接收到服务器发送的ACK+SYN数据包之后,反馈一个确认序列号为Y+1的ACK确认数据包。至此,一个TCP连接将被成功建立。其中,序列号是32bit的无符号数,取值范围为“0~4294967295”。初始序列号X由客户端随机提供,具体的提供方式为:客户端启动时先随机生成一个初始序号(英文全称为Initial Sequence Number,英文缩写为ISN)然后按照每4ms+1的方式累加并维护这个初始序号,在需要发送TCP SYN数据包时,使用当前维护的初始序号作为该TCP SYN数据包中的初始序列号X。客户端的识别信息通常为IP地址和端口号。上述过程也即常说的“三次握手机制”
TCP SYN洪水攻击(英文全称为TCP SYN Flood)是一种通过客户端来向服务器频繁发送大量包含伪识别信息的TCP SYN数据包,使得服务器中的半连接资源被耗尽,从而使用户正常的连接请求无法得到服务的网络攻击。由于TCP SYN洪水攻击简单有效,是黑客常用的一种手段,已经多次给大型门户网站和商业网站带来巨大损失。针对TCP SYN洪水攻击,现有技术中较为常用的缓解攻击方法主要是:第一,预先在服务器和客户端之间设置一防火墙,由该防火墙来代理服务器接收客户端的TCP请求;第二,防火墙与一个客户端成功建立TCP连接后,再向服务器建立一个TCP连接,然后防火墙将客户端和服务器之间的数据进行互相转发。显然,如果防火墙没有与客户端成功建立TCP连接,则不向服务器建立TCP连接。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:虽然由防火墙来代理服务器接收客户端的TCP请求可以一定程度缓解TCP SYN洪水攻击,但是实质上只是由防火墙来代替服务器承担TCP SYN洪水攻击。当TCP SYN洪水攻击的攻击力度达到防火墙能够承受的极限时,防火墙也会瘫痪,仍然不能解决TCP SYN洪水攻击所带来的问题。
发明内容
为了缓解TCP SYN洪水攻击所带来的问题,本发明实施例提供了一种缓解攻击方法、数据包生成方法、序列号提供方法及设备。所述技术方案如下:
根据本发明的一个方面,本发明实施例提供一种缓解攻击方法,所述方法包括:
服务器接收传输控制协议同步TCP SYN数据包,所述TCP SYN数据包中包含初始序列号,所述TCP SYN数据包是针对统一资源定位符的,所述统一资源定位符包括服务器信息和文件信息;
所述服务器确定所述初始序列号是否为预先分配的预设序列号;
如果所述初始序列号是所述预设序列号,则所述服务器将所述TCP SYN数据包存储至高优先级队列;
如果所述初始序列号不是所述预设序列号,则所述服务器将所述TCP SYN数据包存储至低优先级队列。
可选地,所述接收传输控制协议同步TCP SYN数据包之前,所述方法还包括:
所述服务器为客户端分配所述预设序列号,以便所述客户端发送携带所述预设序列号的TCP SYN数据包。
可选地,所述为客户端分配所述预设序列号,具体包括:
所述服务器向所述客户端发送携带所述预设序列号的网页。
可选地,所述为客户端分配所述预设序列号,具体包括:
向搜索引擎提供所述统一资源定位符和所述预设序列号之间的对应关系,以便所述搜索引擎确定所述客户端搜索所述统一资源定位符或所述统一资源定位符对应的资源时,将对应的所述预设序列号提供给所述客户端。
根据本发明的另一方面,本发明实施例还提供一种序列号提供方法,其包括:
接收用户的搜索请求;
根据所述搜索请求搜索与所述搜索请求对应的统一资源定位符;
判断是否存在与搜索到的统一资源定位符对应的预设序列号;
如果存在与搜索到的统一资源定位符对应的预设序列号,则将所述搜索到的统一资源定位符和所述与所述搜索到的统一资源定位符对应的预设序列号同时进行反馈。
可选地,所述接收用户的搜索请求之前,所述方法还包括:
接收并存储服务器提供的统一资源定位符与预设序列号的对应关系。
根据本发明的再一方面,本发明实施例还提供一种缓解攻击装置,所述装置包括:
数据接收模块,用于接收传输控制协议同步TCP SYN数据包,所述TCP SYN数据包中包含初始序列号,所述TCP SYN数据包是针对统一资源定位符的,所述统一资源定位符包括服务器信息和文件信息;
初始序列号判断模块,用于判断所述初始序列号是否为预先分配的预设序列号;
数据保存模块,用于如果所述初始序列号判断模块判断到所述初始序列号是所述预设序列号,则将所述TCP SYN数据包存储至高优先级队列;
所述数据保存模块,还用于如果所述初始序列号判断模块判断到所述初始序列号不是所述预设序列号,则将所述TCP SYN数据包存储至低优先级队列。
可选地,所述缓解攻击装置,还包括:
序号提供模块;
所述序号提供模块,用于为客户端分配所述预设序列号,以便所述客户端发送携带所述预设序列号的TCP SYN数据包。
可选地,所述序号提供模块,具体包括:
第一序号提供单元;
所述第一序号提供单元,用于向所述客户端发送携带所述预设序列号的网页。
可选地,所述序号提供模块,具体包括:
第二序号提供单元;
所述第二序号提供单元,用于向搜索引擎提供所述统一资源定位符和所述预设序列号之间的对应关系,以便所述搜索引擎确定所述客户端搜索所述统一资源定位符或所述统一资源定位符对应的资源时,将对应的所述预设序列号提供给所述客户端。
根据本发明的又一方面,本发明实施例还提供一种服务器,所述服务器包括上述缓解攻击装置。
根据本发明的另一方面,本发明实施例还提供一种序列号提供装置,其包括:
请求接收模块,用于接收用户的搜索请求;
请求搜索模块,用于根据所述搜索请求搜索与所述搜索请求对应的统一资源定位符;
搜索判断模块,用于判断是否存在与搜索到的统一资源定位符对应的预设序列号;
结果反馈模块,用于如果存在与搜索到的统一资源定位符对应的预设序列号,则将所述搜索到的统一资源定位符和所述与所述搜索到的统一资源定位符对应的预设序列号同时进行反馈。
可选地,所述序列号提供装置,还包括:关系存储模块;
所述关系存储模块,用于接收并存储服务器提供的统一资源定位符与预设序列号的对应关系。
根据本发明的还一方面,本发明实施例还提供一种搜索引擎服务器,所述搜索引擎服务器包括上述序列号提供装置。
本发明实施例提供的技术方案带来的有益效果是:
通过对三次握手机制中的第一个TCP SYN数据包的初始序列号采用预设序列号,使得服务器可以对客户端进行正常访问的TCP SYN数据包和拒绝服务攻击进行非正常访问的TCP SYN数据包具有了一定程度的辨别能力,结合优先级队列的处理方式,达到了即便服务器承受高强度的TCP SYN洪水攻击时,也能够为客户端提供正常的访问服务的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的一种TCP连接建立方法的方法流程图;
图2是本发明实施例一提供的缓解攻击方法的方法流程图;
图3是本发明实施例二提供的缓解攻击方法的方法流程图;
图4是本发明实施例二提供的缓解攻击方法的实施示意图;
图5是本发明实施例三提供的数据生成方法的方法示意图;
图6是本发明实施例四提供的序列号提供方法的方法流程图;
图7是本发明实施例四提供的序列号提供方法的实施示意图;
图8是本发明实施例五提供的一种缓解攻击装置的结构方框图;
图9是本发明实施例五提供的另一种缓解攻击装置的结构方框图;
图10是本发明实施例六提供的数据生成装置的结构方框图;
图11是本发明实施例七提供的一种序列号提供装置的结构方框图;
图12是本发明实施例七提供的另一种序列号提供装置的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参考图2,其示出了本发明实施例一提供的缓解攻击方法的方法流程图。该缓解攻击方法可以用于服务器中,该缓解攻击方法可以包括以下内容。
步骤202,服务器接收传输控制协议同步(英文缩写为TCP SYN)数据包,该TCP SYN数据包中包含初始序列号,该TCP SYN数据包是针对统一资源定位符的,统一资源定位符包括服务器信息和文件信息;
服务器可以接收客户端发送的TCP SYN数据包,该TCP SYN数据包中包含初始序列号。该TCP SYN数据包用于请求访问统一资源定位符(英文全称为Uniform ResourceLocator,英文缩写为URL)对应的网页或者资源,统一资源定位符可以认为是网页地址,其包括服务器信息和文件信息,服务器信息为服务器的域名,文件信息不能为空。比如,一个统一资源定位符为http://www.XXXXX.com/view/245485.htm,那么www.XXXXX.com为服务器信息,245485.htm为文件信息。
步骤204,服务器判断该初始序列号是否为预先分配的预设序列号,如果是,则进入步骤206;如果否,则进入步骤208;
服务器可以判断该初始序列号是否为预设序列号,该预设序列号可以是服务器预先分配给客户端的序列号,预设序列号的取值范围可以是“0~4294967295”的子集。
步骤206,如果该初始序列号是预设序列号,则将TCP SYN数据包存储至高优先级队列;
服务器可以同时维护两个队列,其中一个是高优先级队列、另一个是低优先级队列。服务器也可以同时维护两个以上的队列,其中一个是高优先级队列,优先级低于所述高优先级队列的一个或多个队列均可以被视为是低优先级队列。如果服务器判断该初始序列号是预设序列号时,可以将该TCP SYN数据包存储至高优先级队列。
此后,服务器可以优先处理高优先级队列中的TCP SYN数据包并建立连接,该建立连接的过程包括服务器向客户端发送ACK+SYN数据包的过程,也包括接收客户端发送的ACK确认数据包的过程。
步骤208,如果该初始序列号不是预设序列号,则将TCP SYN数据包存储至低优先级队列。
如果服务器判断该初始序列号不是预设序列号时,可以将该TCP SYN数据包存储至低优先级队列。
此后,服务器可以等待空闲时间才处理或者不处理低优先级队列中的TCP SYN数据包,并且在低优先级队列存储满之后,丢弃初始序列号不是预设序列号的一个或多个TCPSYN数据包。
综上所述,本发明实施例一提供的缓解攻击方法通过对三次握手机制中的第一个TCP SYN数据包的初始序列号采用预设序列号,使得服务器可以对客户端进行正常访问的TCP SYN数据包和拒绝服务攻击进行非正常访问的TCP SYN数据包具有了一定程度的辨别能力,结合优先级队列的处理方式,达到了即便服务器承受高强度的TCP SYN洪水攻击时,也能够为客户端提供正常的访问服务的效果。
实施例二
请参考图3,其示出了本发明实施例二提供的缓解攻击方法的方法流程图。该缓解攻击方法可以用于服务器中,也即本实施例主要以服务器一侧来描述,该缓解攻击方法可以包括以下内容。
步骤302,为客户端分配预设序列号,以便客户端发送携带有预设序列号的TCPSYN数据包;
服务器可以向客户端分配预设序列号,以便客户端发送携带有预设序列号的TCPSYN数据包。
可选地,服务器向客户端发送携带预设序列号的网页,这样便可以直接地将预设序列号分配给客户端。这样,当客户端发送针对统一资源定位符的TCP SYN数据包时,就可以将获取的预设序列号添加到待发送的TCP SYN数据包中。
为了提高有效性,服务器可以动态提供预设序列号,也即可以每隔预定时间间隔,随机选取一组序列号作为预设序列号。
可选地,服务器也可以向搜索引擎提供统一资源定位符和预设序列号之间的对应关系,以便搜索引擎确定客户端搜索所述统一资源定位符或所述统一资源定位符对应的资源时,将对应的预设序列号提供给客户端。
步骤304,接收TCP SYN数据包,该TCP SYN数据包中包含初始序列号,该TCP SYN数据包是针对统一资源定位符的,统一资源定位符包括服务器信息和文件信息;
服务器可以接收到客户端发送的TCP SYN数据包,该TCP SYN数据包都包含有初始序列号。该TCP SYN数据包用于请求访问统一资源定位符(英文全称为Uniform ResourceLocator,英文缩写为URL)对应的网页或者资源,统一资源定位符可以认为是网页地址,其包括服务器信息和文件信息,服务器信息为服务器的域名,文件信息不能为空。比如,一个统一资源定位符为http://www.XXXXX.com/view/245485.htm,那么www.XXXXX.com为服务器信息,245485.htm为文件信息。
如果该TCP SYN数据包是由正常用户的客户端发送而来,其中的初始序列号应当是服务器提供的预设序列号;如果是拒绝服务攻击提供的TCP SYN数据包,则其中的初始序列号一般都不是预设序列号。
步骤306,判断该初始序列号是否为预先分配的预设序列号,如果是,则进入步骤308;如果否,则进入步骤310;
服务器可以判断接收到的TCP SYN数据包中的初始序列号是否为预先分配给客户端的预设序列号。
步骤308,如果该初始序列号是预设序列号,则将TCP SYN数据包存储至高优先级队列;
服务器可以同时维护两个队列,其中一个是高优先级队列、另一个是低优先级队列。服务器也可以同时维护两个以上的队列,其中一个是高优先级队列,优先级低于所述高优先级队列的一个或多个队列均可以被视为是低优先级队列。如果服务器判断接收到的TCP SYN数据包中的初始序列号是预设序列号时,可以将该TCP SYN数据包存储至高优先级队列。
当然,在更为优选的实施例中,优先级队列可以不止两个,而是多个。比如:优先级队列可以是四个,分别是第一优先级队列、第二优先级队列、第三优先级队列和第四优先级队列,各个队列的优先级依次降低。服务器可以首先对TCP SYN数据包的来源IP进行分类,对于来自预定IP地址的TCP SYN数据包可以存储入第一优先级队列和第二优先级队列,对于来自非预定IP地址的TCP SYN数据包可以存储入第三优先级队列和第四优先级队列。然后将TCP SYN数据包存储入第一优先级队列和第二优先级队列,或者第三优先级队列和第四优先级队列时,才按照TCP SYN数据包中的初始序列号进行再次分类。其中,假设服务器位于总公司,预定IP地址可以是子公司的IP地址。
步骤310,如果该初始序列号不是预设序列号,则将TCP SYN数据包存储至低优先级队列;
如果服务器判断接收到的TCP SYN数据包中的初始序列号不是预设序列号时,可以将该TCP SYN数据包存储至低优先级队列。当低优先级队列存储满之后,可以对其内的TCP SYN数据包进行丢弃处理。
步骤312,优先处理高优先级队列中的TCP SYN数据包并建立连接。
服务器可以优先处理高优先级队列中的TCP SYN数据包并建立连接,该建立连接的过程包括服务器向客户端发送ACK+SYN确认数据包的过程,也包括接收客户端发送的ACK确认数据包的过程。然后,服务器也可以在将高优先级队列中的TCP SYN数据包处理完毕后,再处理低优先级队列中的SYN数据包。由于高优先级队列中的TCP SYN数据包通常都是客户端进行正常访问的TCP SYN数据包,而低优先级队列中的SYN数据包通常都是拒绝服务攻击进行非正常访问的TCP SYN数据包,所以可以优先保证客户端的正常访问,而TCP SYN洪水攻击发送的大量TCP SYN数据包将会在低优先级队列中被丢弃。
综上所述,本发明实施例二提供的缓解攻击方法通过对三次握手机制中的第一个TCP SYN数据包的初始序列号采用预设序列号,使得服务器可以对客户端进行正常访问的TCP SYN数据包和拒绝服务攻击进行非正常访问的TCP SYN数据包具有了一定程度的辨别能力,结合优先级队列的处理方式,达到了即便服务器承受高强度的TCP SYN洪水攻击时,也能够为客户端提供正常的访问服务的效果。
实施例三
请参考图5,其示出了本发明实施例三提供的数据包生成方法的方法流程图。该数据包生成方法可以用于图4所示客户端中,用于生成包含预设数据包的TCP SYN数据包。该数据包生成方法包括:
步骤502,接收用户为一个统一资源定位符输入的预设序列号;
用户在使用客户端访问一个由服务器提供的URL时,可以将服务器同时提供给的预设序列号输入给客户端。客户端可以接收到用户为该URL输入的预设序列号。
步骤504,将预设序列号作为初始序列号以生成TCP SYN数据包,该TCP SYN数据包为请求连接该统一资源定位符对应的服务器的TCP SYN数据包。
客户端在接收到该预设序列号后,可以将该预设序列号作为初始序列号来生成一个TCPSYN数据包,该TCP SYN数据包是用于请求连接上述URL对应的服务器的TCP SYN数据包。
综上所述,本发明实施例三提供的数据包生成方法可以利用服务器提供的预设序列号来生成TCP SYN数据包,使得客户端向服务器发送的TCP SYN数据包具有了一定程度的可识别性,以便于服务器进行后续处理。
由于服务器提供至少一个预设序列号,以便客户端根据预设序列号发送TCP SYN数据包也可以采用其它实现方式来实现,为此请继续参考如下实施例。
实施例四
请参考图6,其示出了本发明实施例三提供的序列号提供方法的方法流程图。该序列号提供方法可以用于搜索引擎服务器中,该序列号提供方法可以包括以下内容。
步骤602,接收并存储服务器提供的统一资源定位符与预设序列号的对应关系;
服务器可以预先向搜索引擎服务器提供至少一对自身提供的URL和预设序列号之间的对应关系,具体地讲,服务器提供的每一个URL都可以分别各自对应一个预设序列号,这种对应关系也即URL和预设序列号之间的对应关系。其中,“预先”的时刻可以是在服务器接收到拒绝服务攻击时;服务器提供的预设序列号也可以是动态提供的。搜索引擎服务器可以接收到服务器提供的该URL与预设序列号的对应关系,然后搜索引擎服务器可以存储该URL与预设序列号的对应关系。
步骤604,接收用户的搜索请求;
搜索引擎服务器可以接收用户的搜索请求,比如用户通过其使用的客户端向搜索请求服务器发送一个有关服务器提供的内容的搜索请求。
步骤606,根据该搜索请求搜索与所述搜索请求对应的统一资源定位符;
搜索引擎服务器在接收到用户的搜索请求之后,可以根据该搜索请求搜索URL。简单来讲,就是搜索引擎服务器根据用户的搜索请求,搜索相关的网页内容。通常,搜索引擎服务器可以搜索到很多相关URL,这些URL一部分是有上述服务器来提供的。
步骤608,判断是否存在与搜索到的统一资源定位符对应的预设序列号;
搜索引擎服务器可以判断搜索到的每个URL是否存在对应的预设序列号。具体地讲,如果搜索引擎服务器判断的URL是由上述服务器提供的,则可以根据预先存储的URL与预设序列号的对应关系查找到相对应的预设序列号。如果搜索引擎服务器判断的URL不是由上述服务器提供的,则根据预先存储的URL与预设序列号的对应关系是无法查找到相对应的预设序列号的。
步骤610,如果存在与搜索到的统一资源定位符对应的预设序列号,则将搜索到的统一资源定位符和与搜索到的统一资源定位符对应的预设序列号同时进行反馈。
如果搜索引擎服务器判断到存在与搜索到的URL对应的预设序列号,则可以将该URL和预设序列号同时反馈,比如在一个具体的示例中,搜索引擎服务器可以先将搜索到的URL按照列表方式提供给用户使用的客户端,当用户的鼠标点击到上述服务器提供的URL时,搜索引擎服务器可以弹出一个加扰图片和输入框。如图7所示,该加扰图片上显示有简单的加法算式,该加法算式的计算结果即为与这个URL相对应的预设序列号。
然后客户端可以利用该预设序列号生成TCP SYN数据包向服务器发起TCP请求,相应的步骤如上述实施例与步骤502和步骤504类似。服务器接收到该TCP SYN数据包后,可以建立TCP连接,相应的步骤与上述实施例中步骤304和步骤312类似。此处不再一一赘述。
综上所述,本发明实施例四提供的序列号提供方法可以利用搜索引擎服务器来向客户端提供预设序列号,以便客户端来生成包含预设序列号的TCP SYN数据包,使得客户端向服务器发送的TCP SYN数据包具有了一定程度的可识别性。同时,本发明实施例四提供的序列号提供方法利用搜索引擎服务器来提供预设序列号,可以将提供预设序列号的过程和服务器处理TCP SYN数据包的过程互相分离,即便服务器此刻正在承受较强的TCP SYN洪水攻击,也能由搜索引擎服务器为客户端正常地提供预设序列号,达到了更好的抗攻击效果。
实施例五
请参考图8,其示出了本发明实施例五提供的缓解攻击装置的结构方框图。该缓解攻击装置可以用于服务器中。该缓解攻击装置可以包括数据接收模块820、初始序列号判断模块840和数据保存模块860。
数据接收模块820用于接收传输控制协议TCP SYN数据包,该TCP SYN数据包中包含初始序列号,TCP SYN数据包是针对统一资源定位符的,统一资源定位符包括服务器信息和文件信息。
初始序列号判断模块840用于判断数据接收模块820接收到的初始序列号是否为预先分配的预设序列号。
数据保存模块860用于如果初始序列号判断模块840判断到该初始序列号是预设序列号,则将TCP SYN数据包存储至高优先级队列。数据保存模块860也用于如果初始序列号判断模块840判断到初始序列号不是预设序列号,则将TCP SYN数据包存储至低优先级队列。
更为优选地,该缓解攻击装置还可以包括序号提供模块810,如图9所示。序号提供模块810用于为客户端分配预设序列号,以便客户端发送携带所述预设序列号的TCP SYN数据包。序号提供模块810可以包括第一序号提供单元812。其中,第一序号提供单元812用于向客户端发送携带预设序列号的网页。或者,序号提供模块810可以包括第二序号提供单元814,第二序号提供单元814用于向搜索引擎提供所述统一资源定位符和所述预设序列号之间的对应关系,以便搜索引擎确定所述客户端搜索所述统一资源定位符或所述统一资源定位符对应的资源时,将对应的所述预设序列号提供给客户端。
综上所述,本发明实施例五提供的缓解攻击装置通过对三次握手机制中的第一个TCP SYN数据包的初始序列号采用预设序列号,使得服务器可以对客户端进行正常访问的TCP SYN数据包和拒绝服务攻击进行非正常访问的SYN数据包具有了一定程度的辨别能力,结合优先级队列的处理方式,达到了即便服务器承受高强度的TCP洪水攻击时,也能够为客户端提供正常的访问服务的效果。
需要说明的是:上述实施例提供的缓解攻击装置在缓解拒绝服务攻击时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的缓解攻击装置与缓解攻击方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例六
请参考图10,其示出了本发明实施例六提供的数据包生成装置的结构方框图。该数据包生成装置可以用于客户端中,该数据包生成装置可以包括序号接收模块1020和数据生成模块1040。
序号接收模块1020用于接收用户为一个统一资源定位符输入的预设序列号。
数据生成模块1040用于将序号接收模块1020接收到的预设序列号作为初始序列号以生成TCP SYN数据包,该TCP SYN数据包为请求连接该统一资源定位符对应的服务器的TCP SYN数据包。
综上所述,本发明实施例六提供的数据包生成装置可以利用服务器提供的预设序列号来生成TCP SYN数据包,使得客户端向服务器发送的TCP SYN数据包具有了一定程度的可识别性,以便于服务器进行后续处理。
需要说明的是:上述实施例提供的数据包生成装置在生成TCP SYN数据包时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据包生成装置与数据包生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例七
请参考图11,其示出了本发明实施例七提供的序列号提供装置的结构方框图。该序列号提供装置可以用于搜索引擎服务器中,该序列号提供装置包括请求接收模块1120、请求搜索模块1140、搜索判断模块1160和结果反馈模块1180。
请求接收模块1120用于接收用户的搜索请求。
请求搜索模块1140用于根据请求接收模块1120接收到的搜索请求搜索与所述搜索请求对应的统一资源定位符。
搜索判断模块1160用于判断是否存在与请求搜索模块1140搜索到的统一资源定位符对应的预设序列号。
结果反馈模块1180用于如果搜索判断模块1160判断到存在与请求搜索模块1140搜索到的统一资源定位符对应的预设序列号,则将所述搜索到的统一资源定位符和所述与所述搜索到的统一资源定位符对应的预设序列号同时进行反馈。
更为优选地,该序列号提供装置还可以包括关系存储模块1110,如图12所示。关系存储模块1110用于接收并存储服务器提供的统一资源定位符与预设序列号的对应关系。
综上所述,本发明实施例七提供的序列号提供装置可以利用搜索引擎服务器来向客户端提供预设序列号,以便客户端来生成包含预设序列号的TCP SYN数据包,使得客户端向服务器发送的TCP SYN数据包具有了一定程度的可识别性。同时,本发明实施例七提供的序列号提供装置利用搜索引擎服务器来提供预设序列号,可以将提供预设序列号的过程和服务器处理TCP SYN数据包的过程互相分离,即便服务器此刻正在承受较强的TCP SYN洪水攻击,也能由搜索引擎服务器为客户端正常地提供预设序列号,达到了更好的抗攻击效果。
需要说明的是:上述实施例提供的序列号提供装置在提供序列号时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的序列号提供装置与序列号提供方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。