linux原理和方法,Linux_Linux SYN攻击原理和应对方法,TCP自从1974年被发明出来之后, - phpStudy...

Linux SYN攻击原理和应对方法

TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。

SYN攻击就是利用TCP协议的缺陷,来导致系统服务停止正常的响应。

SYN攻击原理:

TCP在传递数据前需要经过三次握手,SYN攻击的原理就是向服务器发送SYN数据包,并伪造源IP地址。

服务器在收到SYN数据包时,会将连接加入backlog队列,并向源IP发送SYN-ACK数据包,并等待ACK数据包,以完成三次握手建立连接。

由于源IP地址是伪造的不存在主机IP,所以服务器无法收到ACK数据包,并会不断重发,同时backlog队列被不断被攻击的SYN连接占满,导致无法处理正常的连接。

SYN攻击的应对措施

针对SYN攻击的几个环节,提出相应的处理方法:

方式1:减少SYN-ACK数据包的重发次数(默认是5次):

复制代码代码如下:

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

方式2:使用SYN Cookie技术:

复制代码代码如下:

sysctl -w net.ipv4.tcp_syncookies=1

方式3:增加backlog队列(默认是1024):

复制代码代码如下:

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

方式4:限制SYN并发数:

复制代码代码如下:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s

SYN攻击模拟

可以用之前介绍的hping工具来模拟SYN攻击,参见《Linux常用网络工具:hping高级主机扫描》;

还有一款synkill也可以用来模拟SYN攻击。相关阅读:

php实现的短网址算法分享

php判断文件夹是否存在不存在则创建

添加网络打印机的步骤Win7与winXP有什么不同?

Android设备间实现蓝牙(Bluetooth)共享上网

生成PDF全攻略之在已有PDF上添加内容的实现方法

C#使用Object类实现栈的方法详解

将php数组输出html表格的方法

PHP中使用file_get_contents post数据代码例子

ajax遍历xml文档的方法

win10为什么不显示缩略图只能看到图标?

SublimeText自带格式化代码功能之reindent

简单封装js的dom查询实例代码

jQuery实现订单提交页发送短信功能前端处理方法

php处理json格式数据经典案例总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值