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

前言

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

AnyProxy簡介

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

主要特性包括:github

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

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

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

安裝NodeJS

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

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

安裝完以後輸入node -v查看版本號瀏覽器

node -v服務器

cnpm安裝anyproxy

NPM是隨同NodeJS一塊兒安裝的包管理工具,能解決NodeJS代碼部署上的不少問題,常見的使用場景有如下幾種:網絡

  • 容許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 容許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
  • 容許用戶將本身編寫的包或命令行程序上傳到NPM服務器供別人使用。
  • 因爲新版的nodejs已經集成了npm,因此以前npm也一併安裝好了。能夠經過輸入 "npm -v"來測試是否成功安裝.

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啓動

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

相關文章
相關標籤/搜索