一、前言

  就算有一些公司想到要进行压力测试也是用一些微软,官网出的一些软件,一个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://www.kuaidaili.com/

  验证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

  六、DIY配置

  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 Diy配置说明

  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 http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

  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

centos 开启http代理tinyproxy的更多相关文章

  1. 在本地开启了代理,postman可以正常发起外部请求,但Java代码却请求失败,已解决

    在本地开启了代理,postman可以正常发起外部请求,但Java代码却请求失败,已解决 现象:开了vpn访问公司服务器,postman可以正常发起服务器请求,但是java代码请求失败,连接超时.包括在 ...

  2. 轻量级 HTTP(s) 代理 TinyProxy

      J CentOS 下安装 TinyProxy yum install -y tinyproxy 启动.停止.重启 # 启动service tinyproxy start# 停止service ti ...

  3. 正向代理tinyproxy使用总结

    使用tinyproxy的问题背景: 其实以前代理一直用的是apache,后来,那次有个任务要给ios的推送设置代理,任务很紧急,可是apache报错. 原因如下:APNS发送通知的端口2195,但是A ...

  4. Centos Apache 80 代理Tomcat 8080端口

    运行环境:Centos 6.5 Apache: 2.2.5 开启apache proxy的相应模块 编辑 /etc/httpd/conf/httpd.conf文件 sudo vim /etc/http ...

  5. VirtualBox中安装的CentOS开启SSH并设置访问外网

    1.全局设置NAT网络 打开VirtualBox->管理->全局设定 网络->添加按钮->添加一个NAT网络(使用默认的就行,不用改动) 2.设置用来本机于VirtualBox ...

  6. [Linux.NET] CentOS 开启/关闭端口

    最近一直在学习研究mvc网站部署到Linux上,Web服务器用的Jexus,linux版本是阿里云提供的centos.一个服务器又要放多个独立网站,对于学习阶段使用多个端口标识还是挺方便的,本文记录下 ...

  7. centos 开启启动服务优化

    默认开机启动服务列表:(此表转自 http://www.ha97.com/4815.html,另有多处补充) 服务名称 功能  默认   建议  备注说明 NetworkManager 用于自动连接网 ...

  8. Apache开启Proxy代理,实现域名端口转发

    今天帮客户迁移网站,客户一个是ASPX的一个是PHP的网站,这时候有2个域名,可是php网站是Apache下的伪静态,必须要用到Apache,但是ASPX网站还必要到IIS+Mssql 然后到了这个时 ...

  9. Centos系统使用代理上网时 yum的代理设置

    yum的存在使centos上软件的安装.配置.升级.卸载变得十分的方便,但是当安装centos的机器是通过代理服务器访问外网的话,yum的 使用就变得无从下手了,以下介绍以下怎样为yum配置代理地址及 ...

随机推荐

  1. java——设计一个支持push,pop,top、在恒定时间内检索最小元素的栈。

    普通方法: 需要另外一个栈 用来存放每一时刻的min值 巧妙版: 只需要一个stack,stack中存的是与min的差值 但由于min是两个整数之间的差值,有可能会出现差值超过整数边界值的情况,因此要 ...

  2. Vue自定义指令实现按钮级权限控制功能

    思路: 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到sessionStorage中,保证刷新页面后能记住 ...

  3. vue router路由(三)

    当环境搭建及Vue语法与指令都有所了解,该说下router. build目录是打包配置文件 (不建议动) config是vue项目基本配置文件 dist是构建后文件 js 手动创建 (根据需要) no ...

  4. JVM---概述

    1.JVM架构 1.1 JVM组成: ClassLoader类加载器 : 将class文件加载到JVM内存中: Runtime Data Area运行时数据区域 :  java程序运行时的内存区域: ...

  5. CSS3 中 图标编码 icon——Font-Awesome

    在做网页开发中经常会用到图标,原来经常会到一些icon网站上找导入到项目中,现在Font-Awesome中的有很多的图标,并且还在不断更新 现在Font-Awesome最新版本是4.7,下载出来的Fo ...

  6. JVM调优总结-Xmx -Xms -Xmn -Xss

    堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...

  7. Dropping Balls UVA - 679(二叉树的遍历)

    题目链接:https://vjudge.net/problem/UVA-679 题目大意:t组样例,每组包括D M   层数是D   问第M个小球落在哪个叶子节点?    每个节点有开关  刚开始全都 ...

  8. inventor安装失败怎样卸载安装inventor 2019?

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  9. windows 7下安装tomcat6 web服务器

    因为项目中要使用Mondrian提供ROLAP应用,而Mondrian是运行在tomcat上的. 一. 软件获取: http://tomcat.apache.org/ 二. 安装步骤: 运行可执行程序 ...

  10. C#窗体控件GroupBox修改边框色

    控件Group Box默认的边框的颜色是白色的,在很多时候显得不那么突出.但默认的属性列表里面并没有提供相应的接口.所以只能借助重绘事件. 网上很多都说使用 OnPaint 事件,但是我在事件列表中没 ...