TCP闲扯

简介:
今天扯下TCP方面的东西,我们知道对与基与TCP协议的应用程序,都需要完成三次握手,再握手后,才能正常通迅。
本TCP的特性是好的,这样可以保障可靠性的传输,可惜,总有那些不法分子,在这个基础上,做些坏事。
什么坏事呢 ?TCP连接需要在握手后,才能传数据,那么在正常建立连接前,也就是三次握手中的一二次状态放到哪呢?
此时,我们的TCP机制就将其放至TCP半连接队列,而将正常的三次握手放到TCP完整连接队列。那现在就有个问题了,我们的
这两个队列都是无限的吗?错。不是。
那么那些不法分子,就想到了,如果我将这些队列都占据了,那么...嘿嘿。正常的请求,不就完了嘛。这就是所谓的SYN攻击,
将其半连接队列占满,那么我们怎么办呢?方法也是有的,如开启syn_cookie,限制syn_ack次数,将半连接队列+全连接队列开大.
OK,也许你防住了,恭喜你!但如果攻击者是以大带宽攻击,我想也没救,只能求助硬件防火墙厂商,或者ISP部门了.
在此,我们只考略半连接被占光了,如果全连接被占光呢?什么?你不知道如何占光?其实就是我们常说的慢攻击啦
简单的说,我写个客户端与服务端正常建立连接,但我与服务端不进行正常通迅,而是每隔一段时间发送一点小数据,或者取
一点小数据,反正就是不让其close,我想我一个客户端与服务端建个几K+连接不成问题吧。我曾用python写了一个telnet慢连接,
执行后,瞬间我的服务器Mem被榨干了,当然我们的服务器硬件性能也不是很好啦。只是说,这种攻击也是相当给力的。

那么我们有没有什么方式来防止呢?那就是可以设置些在指定时间内如果还没有传输完就认定为慢连接攻击,将其主动关闭。



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1407383,如需转载请自行联系原作者

相关文章
|
3月前
|
网络协议 算法 Java
|
23天前
|
缓存 网络协议 算法
TCP和UDP详解1
TCP和UDP详解
32 0
|
5月前
|
网络协议
08 tcp的2MSL问题
08 tcp的2MSL问题
24 0
|
6月前
|
存储 网络协议 程序员
TCP VS UDP
TCP VS UDP
32 0
|
消息中间件 缓存 网络协议
|
缓存 网络协议 安全
TCP为什么安全
老八股了,都说TCP比UDP安全,那他安全再哪呢。。
162 0
|
缓存 网络协议 Linux
|
缓存 网络协议 算法
|
存储 缓存 网络协议
TCP、UDP详解
TCP、UDP详解
198 0
|
网络协议 网络架构
关于TCP与UDP你应该知道的
在面试前,必要的计网复习也是必不可少的呀!结合了网上的部分资料和课程,整理了一些知识点。现在无比后悔当初课堂上计网没有认真听。。