博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SYN Cookies 技术
阅读量:2496 次
发布时间:2019-05-11

本文共 666 字,大约阅读时间需要 2 分钟。

TCP协议开辟了一个比较大的内存空间 backlog队列 来存储 半连接条目 ,当SYN请求不断增加,并这个空间,致使系统 丢弃SYN连接 。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。

SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYN cookies并不丢弃SYN请求,而是通过 加密 技术来标识半连接状态。

在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端囗、服务器IP地址和服务器端囗以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的 SYN序列号)给客户端,如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此 cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。

在RedHat linux中,启用SYN cookies是通过在启动环境中设置以下命令来完成:

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

转载地址:http://dpbgb.baihongyu.com/

你可能感兴趣的文章
js正则表达式中的exec
查看>>
官方文档-----》
查看>>
MySql的数据库文件
查看>>
找出一组数里出现频率最高的3个数(1.3)
查看>>
BigDecimal默认用四舍五入方式
查看>>
基于注解的SpringMVC
查看>>
Html+Css实现九大行星动画效果
查看>>
【20190405】JavaScript-整理一些常用正则式
查看>>
git 常用命令
查看>>
【光影魔术手】简单使用
查看>>
关于sqoop与datax。 和sqoop to oracle插件OraOop
查看>>
国内其他的maven库
查看>>
Charles 抓包的简单使用
查看>>
关于 控制反转与依赖注入 对初学者的一点帮助
查看>>
MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置(5.6优化、错误日志、DNS解决)
查看>>
解决NLPIR汉语分词系统init failed问题
查看>>
袖珍C库
查看>>
深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
查看>>
ListPreference进行隐藏或删除
查看>>
LightOJ 1141 Number Transformation
查看>>