1、介紹
AnyProxy是阿里巴巴基於 Node.js 開發的一款開源代理服務器。做為中間代理服務器,它可以收集所有經過它的http請求流量(包括https明文內容);它提供了友好的web界面,便於直觀的查看經過它的http請求;同時它支持二次開發,
可以用javascript控制整個代理的全部流程,便於前端調試和收集http請求頁面內容。它可以用於移動app和移動web頁面調試、 抓取。
2、實驗環境
操作系統: Windows 10 X64位
nodejs: node-v12.18.2-x64 https://nodejs.org/en/
3、安裝AnyProxy
由於新版的nodejs已經集成了npm,所以之前npm也一並安裝好了。可以通過輸入 "npm -v"來測試是否成功安裝.
檢查node是否安裝成功,執行命令,
node --version
檢查npm是否安裝成功,執行命令
npm --version
安裝anyproxy,執行命令,
npm install anyproxy -g
注意后面的-g不能少,檢查anyproxy是否安裝成功,執行命令
anyproxy --version
然后執行命令啟動anyproxy,
anyproxy
進一步訪問網址進行anyproxy的啟動驗證,訪問服務器ip:8002,
訪問http://127.0.0.1:8002 ,web界面上能看到所有的請求信息
4、生成根證書(RootCA)
但是這樣啟動anyproxy只能代理http,如果要能代理https,需要執行生成ca證書的命令,
anyproxy-ca
生成證書文件:
回車確認下去既可,然后執行以下命令來啟動anyproxy,
5、設置代理(手機端):
安裝證書
在被代理的手機上安裝證書,這樣在AnyProxy上才能以明文的方式查看https請求內容。在手機上安裝證書有兩種方式:
直接在手機瀏覽器中打開"http://ip:8002/fetchCrtFile"(IP換成安裝AnyProxy機器的IP)
點擊界面的“RootCA” ,然后掃描二維碼
打開小米手機 設置 > 更多設置 > 系統安全 > 加密與憑據 > 從存儲設置安裝 > 選擇下載的證書 安裝
也可以:
在手機wifi設置中,手動設置http代理,在服務器中輸入安裝上面的代理IP,端口輸入8001,保存即可
手機證書安裝成功
這樣在此手機上所有的http請求(包括Web站點和收集app,如微信中的http請求),都會通過AnyProxy代理。在安裝AnyProxy的電腦上,打開”http://localhost:8002”,即可看到所有被代理的http請求。
參考:https://www.jianshu.com/p/7ef5a389a150