http的慢速攻击:
利用http的合法规则,不断与目标服务器建立连接。每个连接建立后,一直尽可能的不释放,直到服务器的http连接资源占满,而不能相应正常的请求,从而达到攻击http服务器的效果。
服务器支持的http连接数非常多,为何还会出现服务器的http资源消耗过多,出现相应慢或者拒绝服务的现象:
客户端和服务器端建立http连接,是通过5元组来完成,分别是{协议,localIP,localPort,remoteIP,remotePort}。协议是固定的TCP;服务器提供的服务也是固定的,即remoteIP和remotePort是固定的(服务器通过IP来定位,服务器上具体的服务通过port标定),那么服务器上能够接收的http连接数就和服务器的端口数65535(1~1024系统自留了)无关了。但是65535和localPort有关,即和客户端有关,同一个client每次和服务器建立一个连接,就需要使用一个port,则在做client压测时,就会出现连接最大不超过65535的现象。
虽然服务器的http连接上限和端口数量无关,可以达到万、百万级,但也不是无限制的。原因是:1、内存限制,每个请求都要内存来保存请求的状态和缓存的收发数;2、服务器的带宽限制;3、服务器的句柄限制,每个tcp连接都会使用socket句柄,每个socket句柄是一个文件句柄,操作系统对打开的文件句柄数量是有限制的。
常见的几种满攻击方法:
slow headers:
slow post:
slow red:
参考文档:https://blog.csdn.net/realmardrid/article/details/110943433