AnyProxy代理
背景:当一个公司测试团队有多个人的时候,只需搭建一个AnyProxy服务,其它小伙伴浏览器上打开AnyProxy页面,手机上设置代理就能抓到http、https请求了。解决了部分人电脑不正经的小伙伴fiddler死活抓不到https请求的问题,也解决了破解charles安装的问题,也不用在每个电脑都去安装一个抓包工具的问题。AnyProxy 是完全可以灵活配置的代理服务器。它支持 https明文代理 ,且提供了 Web 界面便于观测请求情况,同时支持二次开发,可以用 JavaScript 来控制代理的全部流程。
简介:AnyProxy是阿里团队基于node.js开发的一款抓包神器,可以抓取http、https、websocket请求,且高度可定制。优点:
1.同时兼容mac/windows用户
2.只需打开web页面,就能抓到手机app上的http、https请求了
下面介绍一下安装步骤,因为本人使用Mac,所以以Mac安装为例(Windows安装步骤也是类似的):
安装NodeJS:在官网https://nodejs.org/en/下载安装包,下载左边的LTS版本,傻瓜式安装即可 ,如图
安装完成后输入node -v查看版本号
cnpm安装anyproxy:由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。可以通过输入 :npm -v来测试是否成功安装,如图
如果npm版本过低,可以通过指令升级npm版本:npm install npm -g
通过npm直接安装anyproxy(不过安装速度比较慢):npm install -g anyproxy
因为安装npm很慢,可以通过cnpm安装,使用淘宝镜像地址,这个相当于是npm的升级版,先用npm安装cnpm,淘宝镜像地址:http://registry.npm.taobao.org,命令如下:npm install -g cnpm --registry=https://registry.npm.taobao.org
用cnpm安装anyproxy(安装速度快):cnpm install -g anyproxy
如果报以下错误提示没有权限,可以在命令前加sudo,如图
启动anyproxy:在终端输入:anyproxy,如图
打开浏览器输入:http://localhost:8002或者http://127.0.0.1:8002,就能打开anyproxy页面了(此时还不能抓包)
要想找到https请求,电脑上还需安装证书,打开anyproxy web页面-->RootCA-->Download-->rootCA.crt,傻瓜式下一步安装,如图
确认https证书是否安装可以输入命令查看:anyproxy-ca,如图
安装证书,然后进入证书目录,如图
通过anyproxy -i命令启动监听即可捕获https请求
电脑启动代理,如图
然后手机安装证书,可以直接在浏览器中输入http://xxxx:8002/fetchCrtFile(ip换成自己anyproxy机器地址),安装证书,如图
证书安装完成后,在手机上设置代理,如图
在手机上打开app操作,就能抓到app上 的请求了,如图
anyproxy还可以代理websocket,在终端输入命令:anyproxy --ws-intercept
使用anyproxy -i不能关闭命令行,不过可以使用pm2来管理anyproxy,:pm2 start anyproxy -x -- -i
通过pm2来初始化并启动一个anyproxy,启动anyproxy后可以随时关闭命令行,若要查看anyproxy启动状况,执行命令:pm2 list
如果要关闭anyproxy:pm2 stop anyproxy
如果要再启动anyproxy:pm2 start anyproxy
如果要重启anyproxy:pm2 restart anyproxy
Anyproxy提供的配置还是很灵活的,它提供的一个典型的规则模块代码结构如下:
// rule.js
module.exports = {
// 模块介绍
summary: 'my customized rule for AnyProxy',
// 发送请求前拦截处理
*beforeSendRequest(requestDetail) { /* ... */ },
// 发送响应前处理
*beforeSendResponse(requestDetail, responseDetail) { /* ... */ },
// 是否处理https请求
*beforeDealHttpsRequest(requestDetail) { /* ... */ },
// 请求出错的事件
*onError(requestDetail, error) { /* ... */ },
// https连接服务器出错
*onConnectError(requestDetail, error) { /* ... */ }
};
调用 anyproxy --rule rule.js 即可。
Anyproxy的配置灵活,其他的使用规则可以参考官方文档:http://anyproxy.io/cn/。
————————————————
版权声明:本文为CSDN博主「dou_being」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dou_being/article/details/101150024
AnyProxy代理的更多相关文章
- 利用AnyProxy代理监控APP流量
1.介绍 AnyProxy 是阿里巴巴基于 Node.js 开发的一款开源代理服务器. 代理服务器站在客户端和服务端的中间,它可以收集双方通信的每个比特.一个完整的代理请求过程为:客户端首先与代理服务 ...
- mac抓包工具anyproxy
本文以 mac为代理,ios手机为客户端举例. 文档地址:http://anyproxy.io/ 1.环境配置: 安装 node :参考 https://www.jianshu.com/p/3 ...
- windows安装AnyProxy 配合夜神模拟器抓包
AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器.做为中间代理服务器,它可以收集所有经过它的http请求流量(包括https明文内容):它提供了友好的web界面,便于直观的查看 ...
- 微信公众号批量爬取java版
最近需要爬取微信公众号的文章信息.在网上找了找发现微信公众号爬取的难点在于公众号文章链接在pc端是打不开的,要用微信的自带浏览器(拿到微信客户端补充的参数,才可以在其它平台打开),这就给爬虫程序造成很 ...
- airtest IDE问题汇总
FAQ 1.同一个脚本,使用IDE可以运行,使用命令行运行报错 原因:曾经开启过anyproxy代理,添加过HTTP_PROXY环境变量,将其取消即可 unset HTTP_PROXY https:/ ...
- JS中注入eval, Function等系统函数截获动态代码
正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...
- nodejs反向代理插件anyproxy安装
目前我使用的是Anyproxy,AnyProxy .这个软件的特点是可以获取到https链接的内容.在2016年年初的时候微信公众号和微信文章开始使用https链接.并且Anyproxy可以通过修改r ...
- 抓包工具Charles,anyproxy,mitmproxy等
Charles:图形化界面,看着比较方便友好,也可以抓取https,不过电脑和手机都要下载证书,主要我的电脑上不能添加一添加就卡死 所以,抓取https的话,就用mitmproxy比较简单 1.安装C ...
- node anyproxy ssi简易支持
在项目中,ssi include是一个比较常用的功能,这样我们就可以通过web服务器的支持,将公用的html提取出来,改一个文件就会修改全部内容 但是这也带来了问题,在开发的时候没办法的刷新查看,需要 ...
随机推荐
- Java 之 Set 源码分析
一.HashSet 构造方法: HashSet() :构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75 源码: 二.LinkedHashSet 构造方 ...
- oracle高级部分
回顾 多表关联查询的方式 内连接 根据AB表关联的条件进行过滤查询,只保留满足条件数据 Select * from a,b where a.xxx=b.xxx; Select * from a inn ...
- [转]C++ 堆栈溢出的原因以及可行的解决方法
栈溢出(stackoverflow)的原因及解决办法 大家都知道,Windows程序的内存机制大概是这样的:全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存较大,一般不会溢出: 函数地 ...
- 隐马尔科夫模型(Hidden Markov Models) 系列之四
转自:http://blog.csdn.net/eaglex/article/details/6430389 前向算法(Forward Algorithm) 一.如果计算一个可观察序列的概率? 1 ...
- cocos2d-js中jsc逆向为js攻略
笔记: 主要发现有两个工具 存档记录一下 https://github.com/OEDx/cocos-jsc-endecryptor python的 解密需要秘钥 推荐这个: https://git ...
- QTableWidget表格属性
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑 ui->tableWidg ...
- cpio建立、还原备份档
1. 简介 加入.解开cpio或tar备份档内的文件 与tar相似,将文件归档到硬盘或磁带等存储设备中 2. tar比较 在所处理的文件类型方面,它比tar更全面,但也更复杂 cpio比tar更为可靠 ...
- 设置linux代理完成apt-get
最近ubuntu的服务器被公司关闭了外网使用权限,但是安装软件又需要连接外网,那么就只能通过代理来连接了. 先按照下面的这篇帖子来设置windows端的代理. https://blog.csdn.ne ...
- MessagePack详解
版权声明:分享是一种品质,开源是一种精神. https://blog.csdn.net/wangmx1993328/article/details/84477073 MessagePack Intro ...
- 搜索 - 广度优先搜索(BFS)普通模板
bfs广度优先搜索模板 本人蒟蒻,为响应号召 写下bfs模板一篇 可以适用于求最短步数,等最优解问题.如有不足或者不对的地方请各位大佬及时指出 ^-^ 欢迎来戳 具体实现代码(C++) 各个模块功能和 ...