请选择 进入手机版 | 继续访问电脑版

技术控

    今日:0| 主题:63447
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] wyproxy:HTTP/HTTPS, Socks5代理服务器

[复制链接]
待我长发及腰 发表于 2016-10-1 07:01:13
1512 15
wyproxy

  Proxying And Recording HTTP/HTTPs and Socks5, Save To Mysql Database.
  HTTP/HTTPS, Socks5代理服务器, 并可以将网络请求记录保存到后台数据库.
  帮助安全测试人员更加便捷的发现(客户端/APP/网页)中隐藏的接口或资源。
  同时支持流量handle回放数据功能,
  在HTTP Header中插入 移动/联通/电信 营业厅的免流量域名头, 实现免流量代理上网。
  支持场景
  
       
  • iPhone App   
  • iPad App   
  • Mac OS X App   
  • Android APP  
  帮助说明

  1. $ python wyproxy.py -h
  2. usage: wyproxy.py [-h] [-d] [-stop] [-restart] [-pid] [-p] [-m] [-us]
  3. wyproxy v 1.0 ( Proxying And Recording HTTP/HTTPs and Socks5)
  4. optional arguments:
  5.   -h, --help           show this help message and exit
  6.   -d, --daemon         start wyproxy with daemond
  7.   -stop, --stop        stop wyproxy daemond
  8.   -restart, --restart  restart wyproxy daemond
  9.   -pid , --pidfile     wyproxy daemond pidfile name
  10.   -p , --port          wyproxy bind port
  11.   -m , --mode          wyproxy mode (HTTP/HTTPS, Socks5, Transparent)
  12.   -us, --unsave        Do not save records to MySQL server
复制代码
记录字段如下
   

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-1-技术控-python,devel,install,wyproxy,2.7

  
       
  • method (HTTP/HTTPS/OPTIONS)   
  • scheme (http/https/ftp)   
  • host ( www.wuyun.org )   
  • port (80/8080)   
  • url ( https://www.wuyun.org/foo/bar.php?id=1 )   
  • path (/foo/bar.php)   
  • extension (php)   
  • query (id=1)   
  • headers (response headers)   
  • content (response contnet)   
  • request_headers (reqeust client headers)   
  • request_content (request data: liked post data)   
  • status_code (200/404/403)   
  • date_start (unix timestamp)   
  • date_end (unix timestamp)  
  环境要求

  
       
  • CentOS 6.4   
  • Python 2.7   
  • Mysql Server  
  开发环境依赖

  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel
复制代码
编译安装Python2.7环境

  1. $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. $ tar zvxf Python-2.7.8.tgz
  3. $ cd Python-2.7.8
  4. $ ./configure
  5. $ make
  6. $ make install
  7. $ mv /usr/bin/python /usr/bin/python2.6.6  
  8. $ ln -s /usr/local/bin/python2.7 /usr/bin/python
复制代码
重启bash终端, 就拥有新的Python2.7环境了
  安装新的Python2.7环境下的pip

   https://pip.pypa.io/en/latest/installing/
  1. $ wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
  2. $ python get-pip.py
复制代码
yum在Python2.7环境下无法使用,需要让它使用python2.6.6的环境
  1. $ vim /usr/bin/yum # 修改第一行的程序执行环境
  2. #!/usr/bin/python   ->    #!/usr/bin/python2.6.6
复制代码
获取代码

  1. $ yum install git
  2. $ mkdir src
  3. $ cd ./src
  4. $ git clone https://github.com/ring04h/wyproxy.git
复制代码
安装python依赖库

  1. $ pip install -r requirements.txt
复制代码
安装MYSQL数据库

  1. $ yum install mysql-server
  2. $ service mysqld start
  3. $ mysql -uroot -p < wyproxy.sql
复制代码
性能优化

  MYSQL配置调优, 有时候网页的content内容size大于1M,
  需要修改MYSQL配置调优的全局配置文件max_allowed_packet, 允许插入的数据大小为64M.
  1. $ vim /etc/my.cnf
  2. [mysqld] # 位置
  3. max_allowed_packet = 64M
复制代码
Open Max file option:
  1. $ echo ulimit -HSn 65536 >> /etc/rc.local
  2. $ echo ulimit -HSn 65536 >> ~/.bash_profile
复制代码
开发环境

  或者你可以配置和启动一个virtualenv环境来独立运行wyproxy.
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel0
复制代码
启动wyproxy

  如果不想将代理记录保存到数据库, 必须指定 -us 或者 --unsave 参数
  普通方式启动
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel1
复制代码
守护进程方式启动
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel2
复制代码
支持HTTPS, 需要配置客户端 SSL 证书

  iPhone 移动端, 使用Safari浏览器打开

   https://raw.githubusercontent.com/ring04h/wyproxy/master/ssl/mitmproxy-ca.pem
  会有如下图片提示, 点击右上角安装, 使证书状态变为绿色生效
  安装界面
   

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-2-技术控-python,devel,install,wyproxy,2.7

  成功后的界面
   

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-3-技术控-python,devel,install,wyproxy,2.7

  Mac OS X 安装配置 SSL 证书 并信任

  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel3
复制代码
在Finder中双击运行mitmproxy-ca.pem
   进入钥匙串访问工具, 选择mitmproxy的证书

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-4-技术控-python,devel,install,wyproxy,2.7

   选择始终信任该证书, 即可生效, 便能成功捕捉所有HTTPS的流量

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-5-技术控-python,devel,install,wyproxy,2.7

  iPhone配置全局Socks5代理支持

  用代理自动配置文件pac给iPhone和iPad设备添加socks代理
  首先启动wyproxy代理服务器, 设置代理类型为socks5
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel4
复制代码
找一台开启了HTTPD服务的服务器, 新建一个.pac文件, 内容如下
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel5
复制代码
    设置iPhone的无线配置, 代理处填上你的HTTPD服务器地址
   http://s5.wuyun.org/s5.pac     

wyproxy:HTTP/HTTPS, Socks5代理服务器

wyproxy:HTTP/HTTPS, Socks5代理服务器-6-技术控-python,devel,install,wyproxy,2.7

  这样iPhone上面, 所有的流量,全都会经过wyproxy的socks5代理了
  使用技巧

  在单服务器运行多个代理服务

  运行socks5服务, 监听1080端口
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel6
复制代码
停止1080端口的服务
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel7
复制代码
运行socks5服务, 监听1081端口
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel8
复制代码
停止1081端口的服务
  1. $ yum install python-devel libxml2-devel libxslt-devel libjpeg-turbo-devel libffi-devel mysql-devel9
复制代码
PPTP VPN support

  wyproxy代理服务器设置

  做NAT代理转发,必须启动代理服务器的模式为 transparent
  1. $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. $ tar zvxf Python-2.7.8.tgz
  3. $ cd Python-2.7.8
  4. $ ./configure
  5. $ make
  6. $ make install
  7. $ mv /usr/bin/python /usr/bin/python2.6.6  
  8. $ ln -s /usr/local/bin/python2.7 /usr/bin/python0
复制代码
安装pptp服务器

  安装PPP, PPTP
  1. $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. $ tar zvxf Python-2.7.8.tgz
  3. $ cd Python-2.7.8
  4. $ ./configure
  5. $ make
  6. $ make install
  7. $ mv /usr/bin/python /usr/bin/python2.6.6  
  8. $ ln -s /usr/local/bin/python2.7 /usr/bin/python1
复制代码
注:32位请安装i686版本,将上面链接中的“x86_64”改为“i686”即可,请根据自己的OS安装相应的版本。
  1. $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. $ tar zvxf Python-2.7.8.tgz
  3. $ cd Python-2.7.8
  4. $ ./configure
  5. $ make
  6. $ make install
  7. $ mv /usr/bin/python /usr/bin/python2.6.6  
  8. $ ln -s /usr/local/bin/python2.7 /usr/bin/python2
复制代码
设置iptables防火墙转发

  1. $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. $ tar zvxf Python-2.7.8.tgz
  3. $ cd Python-2.7.8
  4. $ ./configure
  5. $ make
  6. $ make install
  7. $ mv /usr/bin/python /usr/bin/python2.6.6  
  8. $ ln -s /usr/local/bin/python2.7 /usr/bin/python3
复制代码
参考

  
       
  • https://docs.ucloud.cn/software/vpn/pptp4centos  
duniang22221 发表于 2016-10-1 14:27:36
我是个哑巴,平时说话都是伪装的。
回复 支持 反对

使用道具 举报

蓝枫一 发表于 2016-10-1 18:45:37
明明可以靠脸吃饭,偏偏要靠才华
回复 支持 反对

使用道具 举报

烟去哪。 发表于 2016-10-1 20:39:19
放假前的节奏
回复 支持 反对

使用道具 举报

何艺 发表于 2016-10-4 04:21:47
为保住菊花,这个一定得回复!
回复 支持 反对

使用道具 举报

帝国崛起 发表于 2016-10-4 19:47:41
漏洞与补丁齐飞,蓝屏共死机一色!  
回复 支持 反对

使用道具 举报

厮守→上帝 发表于 2016-10-9 10:36:45
前排顶,很好!
回复 支持 反对

使用道具 举报

rtooj 发表于 2016-11-6 11:55:47
我回帖楼主给加积分吗?
回复 支持 反对

使用道具 举报

侯可 发表于 2016-11-6 23:47:56
我是耶稣他儿子,椰子!
回复 支持 反对

使用道具 举报

lkjhfds 发表于 2016-11-8 20:06:58
问君能有几多愁,恰似一群太监上青楼……
回复 支持 反对

使用道具 举报

我要投稿

推荐阅读


回页顶回复上一篇下一篇回列表
手机版/c.CoLaBug.com ( 粤ICP备05003221号 | 粤公网安备 44010402000842号 )

© 2001-2017 Comsenz Inc.

返回顶部 返回列表