• 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:Usersdell>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:Usersdell>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:Usersdell.anyproxycertificates
    ootCA.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

  • 相关阅读:
    水调歌头·1024
    网页开发方式-从静态页面到服务端渲染
    完美融合 nextjs 和 antd
    commanderJs编写命令行工具(cli)
    [信息安全] 05 X.509 公钥证书的格式标准
    [Cake] 3. dotnet 本地工具 cake & dotnet format
    [计算机网络] 00 概述
    [Cake] 2. dotnet 全局工具 cake
    [解读REST] 0.REST 相关参考资料
    [OIDC in Action] 3. 基于OIDC(OpenID Connect)的SSO(添加Github OAuth 2.0的支持)
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/10867050.html
Copyright © 2020-2023  润新知