源码
由于google code关闭,目前已经在Google code上搜不到slowhttptest,我在github上搜到了下面这个。
源码:https://github.com/shekyan/slowhttptest
编译安装参考:https://github.com/shekyan/slowhttptest/wiki/InstallationAndUsage
参数中文说明
测试模式:
-Hslow headers 攻击,缓慢发送\r\n,让服务器一直等待
-Bslow Body 攻击
-R范围攻击Apache killer
-Xslow read 攻击,读的慢,让服务器发送缓存堵塞
报告生成选项:
-g生成socket状态变化统计
-o file_prefix将输出保存到file.html和file.csv中
-v level日志等级,0-4:Fatal,Info,Error,Warning,Debug
普通选项:
-c connections目标连接数(50)
-i seconds数据发送间隔(10)
-l seconds测试一个目标的时间长度(240)
-r rate每秒多少个连接(50)
-s bytesContent-Length的值(4096)
-t verb请求中使用的动词,如果是slow header攻击,默认是GET;如果是slow body攻击,默认是POST
-u URL目标URL(http://localhost/)
-x bytes每一个tick随机生成的键值对最大长度,例如,-x 2 生成x-xx:xx是头字段,或是类似&xx=xx的消息体,x是随机字符(32)
探针/代理选项:
-d host:port所有数据走指定代理host:port
-e host:port 探针流量走指定代理host:port
-p seconds探针超时时长,服务器被认为是网络不可达(5)
范围攻击具体选项:
-a start左边界值(5)
-b bytes右边界值(2000)
slow read攻击具体选项
-k num同一请求重复次数,当服务器支持持久化连接时用于放大响应长度(1)
-n seconds每次从接收缓冲区中读取消息的时间间隔(1)
-w bytes从通知窗中获取数据的起始位置(1)
-y bytes 从通知窗中获取数据的结束位置(512)
-z bytes每次从接收缓冲区中读取的长度(5)
此处参考:http://duallay.blog.51cto.com/635999/1678472
使用示例
slowhttptest -H -c 500 -l 200 -k 5 -p 10 -g -u http://xxxx.com:8088/
Test parameters |
Test type |
SLOW HEADERS |
Number of connections |
500 |
Verb |
GET |
Content-Length header value |
4096 |
Extra data max length |
68 |
Interval between follow up data |
10 seconds |
Connections per seconds |
50 |
Timeout for probe connection |
10 |
Target test duration |
200 seconds |
Using proxy |
no proxy |