首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核中TCP SYN泛洪检测方法

Linux内核中TCP SYN泛洪检测方法
EN

Server Fault用户
提问于 2011-06-23 13:47:05
回答 2查看 2.7K关注 0票数 6

当Linux内核检测到SYN泛滥时,它会记录如下消息:

possible SYN flooding on port 80. Sending cookies

有人知道内核用于检测这一点的确切方法吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-06-23 14:05:14

如果我正确地读取sysctl/tcp内容,那么当未加标记的syn请求数超过net.ipv4.tcp_max_syn_backlog值时,它就会被绊倒。具体地说:

tcp_max_syn_backlog变量告诉您的框,有多少SYN请求保存在内存中,而我们还没有从3路握手中获得第三个数据包。tcp_max_syn_backlog变量被tcp_syncookies变量覆盖,需要打开该变量才能产生任何效果。如果服务器在高峰时间遭遇重载,您可能需要稍微增加这个值。

我认为它如此简单的原因是来自tcp_syncookies的文本:

当特定套接字的内核syn积压队列溢出时,tcp_syncookies变量用于向主机发送所谓的syncookie。这意味着,如果我们的主机被来自不同主机的多个SYN数据包淹没,syn积压队列可能会溢出,因此该函数开始发送cookie,以查看SYN数据包是否真正合法。

在我看来,这听起来就像拥有> tcp_max_syn_backlog优秀连接的syn队列一样简单。

票数 6
EN

Server Fault用户

发布于 2011-06-23 13:59:48

这篇文章 on SYN cookie可能会有所帮助。当然,你可以,检查源

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/283416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档