利用AnyProxy代理监控APP流量

时间:2023-01-08 13:15:18

1.介绍

  • AnyProxy 是阿里巴巴基于 Node.js 开发的一款开源代理服务器

  • 代理服务器站在客户端服务端中间,它可以收集双方通信的每个比特。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务所使用的代理协议,请求对目标服务器创建连接或者获取目标服务器的指定资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应

  • AnyProxy 是完全可以灵活配置的代理服务器。它支持 https明文代理 ,且提供了 Web 界面便于观测请求情况,同时支持二次开发,可以用 JavaScript控制代理的全部流程,搭建前端个性化调试环境。

2.安装

  1. 安装Node.js

  2. 安装AnyProxy

# 安装稳定正式版
$ npm install -g anyproxy
# 最新测试版,需要使用最新版本 node 进行安装
$ npm install -g anyproxy@beta
# 有时需要添加 sudo

3.生成证书(代理https,需要生成证书)

anyproxy-ca

移动端安装证书

浏览器打开地址 http://localhost:8002/fetchCrtFile 进行证书下载
扫描二维码地址 http://localhost:8002/qr_root 进行证书下载

4.安装pm2

安装pm2,执行命令,

npm install pm2 -g

后面的-g也不能少,检查pm2是否安装成功,执行命令,

pm2 --version

5.启动

anyproxy -i
pm2 start anyproxy -x -- -i

6.关闭

通过pm2来初始化并启动一个anyproxy,启动anyproxy后可以随时关闭命令行,若要查看anyproxy启动状况,执行命令,
pm2 list

若要关闭anyproxy,执行命令,

pm2 stop anyproxy

7.重启

pm2 restart anyproxy

8.启动浏览器

http://127.0.0.1:8002/

利用AnyProxy代理监控APP流量

 

9.客户端配置代理

  手动 配置服务器与端口

10.网络请求并观测

11.卸载

$ npm uninstall anyproxy

12.清除证书

$ anyproxy --clear

13.扩展

编写规则文件 rule.js
// 允许 Https 解析
module.exports = {

    shouldInterceptHttpsReq : function(req){
        return true;
    }

};

启动并加载规则

anyproxy --rule ./rule.js

测试规则

 直接请求服务器
 curl https://github.com
# 通过代理服务器请求
 curl https://github.com --proxy http://127.0.0.1:8001

14.加载线上规则

 anyproxy --rule https://sample.com/rule.js

参考:http://aiezu.com/article/windows_anyproxy_install.html