利用AnyProxy代理監控APP流量

1.介紹

  • AnyProxy 是阿里巴巴基於 Node.js 開發的一款開源代理服務器html

  • 代理服務器站在客戶端服務端中間,它能夠收集雙方通訊的每一個比特。一個完整的代理請求過程爲:客戶端首先與代理服務器建立鏈接,接着根據代理服務所使用的代理協議,請求對目標服務器建立鏈接或者獲取目標服務器的指定資源。一些代理協議容許代理服務器改變客戶端的原始請求、目標服務器的原始響應前端

  • AnyProxy 是徹底能夠靈活配置的代理服務器。它支持 https明文代理 ,且提供了 Web 界面便於觀測請求狀況,同時支持二次開發,能夠用 JavaScript控制代理的所有流程,搭建前端個性化調試環境。node

2.安裝

  1. 安裝Node.jsgit

  2. 安裝AnyProxygithub

# 安裝穩定正式版
$ 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/

 

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.htmlnpm

相關文章
相關標籤/搜索