模拟黑客思维对网站进行CC压力测试!(一)

一、前言

每天都有很多网站上线,很少有网站对自己进行压力测试,对网站在线人数,网站吞吐量进行测试,结果是上线人数多一些,马上就卡顿,访问不了,出错等等问题。就算有一些公司想到要进行压力测试也是用一些微软,官网出的一些软件,一个ip发起很多访问。等有一天黑客攻击来了发现还是顶不住。华盟君认为知此知彼才是压力测试的关键点,应当模拟黑客手法进行压力测试才是上策。

华安普特网络科技有限公司2000年开始做防ddos,防cc攻击防护,现已经可以完美防护CC攻击,10g攻击免费防护,可以联系,此篇文章只是小范围对自己的网站进行压力测试,请勿用于非法用途。‍

下面我简单介绍一下什么是Cc攻击

攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS,和伪装就叫:cc(ChallengeCollapsar)。

CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。

一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的数据容量有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。

CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).这一点用一个一般的性能测试软件就可以做到大量模拟用户并发。

知道是什么是Cc攻击之后,我们应当如此模拟黑客对自己网站进行CC压力测试呢?

第一步,我们应当有很多http代理,模拟客户访问。,我们先怎么得到http的代理服务器呢?

1,网上有很多免费的http代理服务器,我们可以先收集一些

2,我们自己架设一些http代理服务器,用来做压力测试。

先介绍一下收集http代理服务器,

在百度搜索“http代理”会有很多网站提供免费的http代理,你只需要复制下来,整理出来,用软件进行验证是否可用,

比如这个网站就提供http代理,

验证HTTP代理

验证软件,花刺代理验证就可以,

网上免费的不是怎么好用的,还需要自己架设一些,

Windows架设http代理

下面我们说一下如何在windows,centos,ubuntu开启http代理

windows下有ccproxy免费绿色带破解的网上可以搜索到,

运行之后就这样子,

建议架设好之后,要帐号里设置一个ip为允许的,要不然会被别人扫描,别人也能用你的代理服务器了,

Linux Ubuntu 开启http代理tinyproxy

windows系统一直在用ccproxy,非windows系统,怎么开放个http代理呢?这里给搞个简单的软件,支持Linux Ubuntu ,用http代理做什么用?比如Cc攻击测试,隐藏自己的ip什么的,

代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。

二、搭建环境

* Linux Ubuntu * tinyproxy 三、ubuntu安装方法 $sudo apt-get install tinyproxy 安装后自动以root权限开启了tinyproxy服务,且默认监听端口是8888 四、启动帮助 $tinyproxy --help Usage: tinyproxy [options] Options are: -d Do not daemonize (run in foreground). -c FILE Use an alternate configuration file. -h Display this usage information. -l Display the license. -v Display version information. 五、根用户的启动方法 * 默认启动 $sudo service tinyproxy start * 重启 $sudo service tinyproxy restart * 停止 $sudo service tinyproxy stop 六、配置 4.1 默认配置文件位置 /etc/tinyproxy.conf (可以从/etc/init.d/tinyproxy包装器脚本中查到) 4.2 默认配置说明 * 以根用户启动时,在初始化完成后切换uid/gid为nobody/nogroup * Port 默认监听端口为8888(该端口无需用root权限绑定) * 默认在所在网卡上监听 * Logfile (必须)日志文件, 默认/usr/var/log/tinyproxy/tinyproxy.log,在LogFile文件不存在时会警告,不会运行失败。 * Pidfile (必须)pid文件, 默认/usr/var/run/tinyproxy/tinyproxy.pid,在PidFile文件不存在时会运行失败。 * StartServers 初始启动的代理服务器子进程(默认是10个) *** Allow 允许使用tinyproxy进行HTTP代理的IP地址。默认是127.0.0.1,如果想要公开tinyproxy代理服务器,则把Allow一行注释掉。 4.3 配置说明

tinyproxy可以以普通用户权限运行,只要监听端口是公开的就可以了。具体Diy配置方法如下: -- 打包可执行程序与默认配置文件 -- 1. $which tinyproxy /usr/sbin/tinyproxy 2. $cp /usr/sbin/tinyproxy ~/bin 3. $cp /etc/tinyproxy.conf ~/etc -- 修改配置 -- 1. 将Port默认的8888改成你想要的端口(如ljysrv上面的8990 TCP端口) 2. 将Allow 127.0.0.1注释掉 3. 将Logfile改为/tmp/tinyproxy.log 4. 将PidFile改为/tmp/tinyproxy.pid -- 启动 -- 1. $cd ~/bin 2. $./tinyproxy -c ~/etc/tinyproxy.conf -- 关闭 -- 1. $killall tinyproxy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cent os6.5下安装tinyproxy的教程, rpm -Uvh yum update -y yum install tinyproxy -y vi/etc/tinyproxy/tinyproxy.conf Port 8888 //预设是8888 Port,你可以更改 Allow 127.0.0.1 //将127.0.0.1改成你自己的IP //例如你的IP 是1.2.3.4,你改成Allow 1.2.3.4,那只有你才可以连上这个Proxy //若你想任何IP都可以脸到Proxy在Allow前面打#注释 service tinyproxy start

启动软件之后,可以netstat -ntl

查看一下自己的代理端口是否开放,我这开放的8167端口,

架设完代理之后,我们可以用http代理软件验证一下,可以用的代理保存一份,

导出这些代理之后,就像这样

下一篇,我们正式开始利用这些http代理进行Cc压力测试,我们模拟一天80~100万pv的访问量对网站进行压力测试,还测试网站数据库查询性能,等................

请关注我们的:i77169

比特币赞助打赏地址:13sbdFRyFBeqmXY9GJQf66s5cwmvLvWaAD

----------------------------------

要闻、干货、原创、专业关注“黑白之道” :i77169华夏黑客同盟我们坚持,自由,免费,共享!