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,如需转载请自行联系原作者

相关文章
|
开发框架 自然语言处理 小程序
多端/跨端/融合的移动端/小程序之Flutter
Flutter作为一种跨平台移动应用开发框架,以其出色的用户体验和丰富的功能,深受广大开发者的喜爱。
509 1
|
文字识别
【数图大作业】基于模板匹配的文字识别(三)(空格识别+模板匹配)
【数图大作业】基于模板匹配的文字识别(三)(空格识别+模板匹配)
|
前端开发 开发者
产品-优惠券-优惠券线|学习笔记
快速学习 产品-优惠券-优惠券线
167 0
产品-优惠券-优惠券线|学习笔记
|
数据安全/隐私保护 网络架构
在阿里网络团队实习两年是一种怎样的体验?
大家好!我是田冰川,南京大学2016级直博生,导师为田臣老师,研究方向为计算机网络。2018年6月,我以研究型实习生的身份入职阿里巴巴基础设施事业部网络研究团队,实习期间主要从事网络验证相关的研究工作,即通过形式化方法与灰度测试,来降低网络变更中的潜在风险。
2718 0
在阿里网络团队实习两年是一种怎样的体验?
|
设计模式 架构师 Java
献给即将35岁的初学者,焦虑 or 出路?
对抗职场“35 岁焦虑”,也许唯一的方法是比这个瞬息万变的商业社会跑得更快!
1938 0
|
4天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
293 116
|
19天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~