作接口測試確定離不開抓包,目前比較流行的抓包工具是fiddler和charles,相信並不陌生。這裏介紹一個阿里公司研發的一個抓包神器,只需打開web頁面,就能抓到手機app上的http和https請求了。
這樣就有個好處,當一個公司測試團隊有多我的的時候,只需搭建一個AnyProxy服務,其它小夥伴瀏覽器上打開AnyProxy頁面,手機上設置個代理就能刷刷刷的抓到請求了。
解決了部分人電腦不正經的小夥伴fiddler死活抓不到https請求的問題,也解決了破解charles安裝的問題,也不用去每一個電腦都去安裝一個抓包工具的問題。
AnyProxy完美的解決了跨平臺使用,無論你是windows電腦,mac電腦,手機app,只需搭建一個服務,都能抓到接口請求數據。node
AnyProxy是一個開放式的HTTP代理服務器。Github主頁:https://github.com/alibaba/anyproxygit
主要特性包括:github
相比3.x版本,AnyProxy 4.0的主要變化:web
AnyProxy是阿里爸爸出的一款抓包工具,依賴NodeJS,在官網https://nodejs.org/en/下載安裝包,下載左邊的LTS版本,傻瓜式安裝便可。npm
安裝的時候注意勾選,添加到環境變量path下,這樣就不用配置環境變量了windows
安裝完以後輸入node -v查看版本號瀏覽器
node -v服務器
NPM是隨同NodeJS一塊兒安裝的包管理工具,能解決NodeJS代碼部署上的不少問題,常見的使用場景有如下幾種:網絡
npm -vapp
若是npm版本太低,也能夠經過如下指令升級npm版本
npm install npm -g
npm 的包安裝分爲本地安裝(local)、全局安裝(global)兩種,通常推薦全局安裝(-g).
注意,若是直接這樣npm安裝anyproxy會很是慢
npm install -g anyproxy
因爲npm安裝很慢,能夠用cnpm安裝,使用淘寶的鏡像地址:http://registry.npm.taobao.org, 這個至關因而npm的升級版,先用npm安裝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
用cnpm安裝anyproxy速度更快
cnpm install -g anyproxy
anyproxy安裝完成後,在cmd輸入anyproxy就能啓動服務了
C:\Users\dell>anyproxy [AnyProxy Log][2019-05-14 23:02:05]: Http proxy started on port 8001 [AnyProxy Log][2019-05-14 23:02:05]: web interface started on port 8002
設置代理端口是8001,web頁面打開的端口是8002,打開瀏覽器輸入http://localhost:8002/
(或者http://127.0.0.1:8002)就能打開anyproxy頁面了
這個頁面打開暫時是抓不到任何請求的,若是想抓到手機app上的請求,繼續往下看
想抓到https請求,電腦上需安裝證書,打開anyproxy web頁面->RootCA->Download->rootCA.crt,傻瓜式下一步安裝
安裝完成後,經過anyproxy -i命令啓動監聽,便可捕獲HTTPS請求
C:\Users\dell>anyproxy -i [AnyProxy WARN][2019-05-15 00:34:14]: ROOT CA NOT INSTALLED YET [AnyProxy Log][2019-05-15 00:34:14]: You can install the root CA manually. [AnyProxy Log][2019-05-15 00:34:14]: The root CA file path is: C:\Users\dell\.anyproxy\certificates\rootCA.crt [AnyProxy Log][2019-05-15 00:34:14]: Http proxy started on port 8001 [AnyProxy Log][2019-05-15 00:34:14]: web interface started on port 8002
點開電腦右下角網絡設置-開啓代理-輸入ip和8001監聽端口
若是不想抓了,就關閉這個代理設置
確保手機和電腦是同一局域網, 打開cmd輸入ipconfig,查看本機的ipv4地址
手機上設置代理,ip就是本身電腦的ipv4地址,端口是8001
咱們須要在被代理的手機上安裝證書,這樣在AnyProxy上才能以明文的方式查看https請求內容。在手機上安裝證書有兩種方式:
直接在手機瀏覽器中打開http://ip:8002/fetchCrtFile(IP換成安裝AnyProxy機器的IP)
在安裝AnyProxy主機上打開http://localhost:8002/,RootCA界面而後掃描二維碼,在瀏覽器中打開安裝證書
若是下載後的證書沒法安裝,打開手機wifi界面-右下角更多-高級WLAN設置-安裝證書-左上角打開文件夾-找到下載的證書,點擊安裝
在手機上打開app操做,就能抓到app上 的請求了