anyproxy學習1-windows平台安裝和抓手機app上https請求


前言

做接口測試肯定離不開抓包,目前比較流行的抓包工具是fiddler和charles,相信並不陌生。這里介紹一個阿里公司研發的一個抓包神器,只需打開web頁面,就能抓到手機app上的http和https請求了。
這樣就有個好處,當一個公司測試團隊有多個人的時候,只需搭建一個AnyProxy服務,其它小伙伴瀏覽器上打開AnyProxy頁面,手機上設置個代理就能刷刷刷的抓到請求了。
解決了部分人電腦不正經的小伙伴fiddler死活抓不到https請求的問題,也解決了破解charles安裝的問題,也不用去每個電腦都去安裝一個抓包工具的問題。
AnyProxy完美的解決了跨平台使用,不管你是windows電腦,mac電腦,手機app,只需搭建一個服務,都能抓到接口請求數據。

AnyProxy簡介

AnyProxy是一個開放式的HTTP代理服務器。Github主頁:https://github.com/alibaba/anyproxy

主要特性包括:

  • 基於Node.js,開放二次開發能力,允許自定義請求處理邏輯
  • 支持Https的解析
  • 提供GUI界面,用以觀察請求

相比3.x版本,AnyProxy 4.0的主要變化:

  • 規則文件(Rule)全面支持Promise和Generator
  • 簡化了規則文件內的接口
  • Web版界面重構

安裝NodeJS

AnyProxy是阿里爸爸出的一款抓包工具,依賴NodeJS,在官網https://nodejs.org/en/下載安裝包,下載左邊的LTS版本,傻瓜式安裝即可。

安裝的時候注意勾選,添加到環境變量path下,這樣就不用配置環境變量了

安裝完之后輸入node -v查看版本號

node -v

cnpm安裝anyproxy

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:

  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
  • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。

由於新版的nodejs已經集成了npm,所以之前npm也一並安裝好了。可以通過輸入 "npm -v"來測試是否成功安裝.

npm -v

如果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啟動

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設置-安裝證書-左上角打開文件夾-找到下載的證書,點擊安裝

anyproxy抓手機https請求

在手機上打開app操作,就能抓到app上 的請求了

參考這篇博客:https://cloud.tencent.com/developer/article/1086128


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM