1. 程式人生 > >利用AnyProxy代理監控APP流量

利用AnyProxy代理監控APP流量

根據 請求過程 ports 加載 打開 bsp intercept ould style

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/

技術分享圖片

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

利用AnyProxy代理監控APP流量