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提取出来,改一个文件就会修改全部内容 但是这也带来了问题,在开发的时候没办法的刷新查看,需要 ...
随机推荐
- linux pid文件
在Linux系统的目录/var/run下面一般我们都会看到很多的*.pid文件 作用 防止进程启动多个副本 有写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中 fcntl in ...
- How to decode a H.264 frame on iOS by hardware decoding?
来源:http://stackoverflow.com/questions/25197169/how-to-decode-a-h-264-frame-on-ios-by-hardware-decodi ...
- 竟然有人在群里谈交钱培训PI。。。。等哥哥有时间,断了你们的财路
PI是工具,很不错的工具.统一管理接口,这点对大公司来说还是有必要的.而且PI的日志记录很详细,用的好的话,绝对物超所值.
- Vue2.0 新手入门 — 从环境搭建到发布
什么是 Vue Vue 是一个前端框架,特点是数据绑定 比如你改变一个输入框 Input 标签的值,会自动同步更新到页面上其他绑定该输入框的组件的值 组件化 页面上小到一个按钮都可以是一个单独的文件. ...
- nginx 日志问题(\x22)
nginx 日志问题(\x22) 问题: 1.request_body中含有中文时,nginx日志会转换为十六进制. 2.nginx记录问题 POST /xxxxx HTTP/1.1|200|4266 ...
- PAT 乙级 1042.字符统计 C++/Java
题目来源 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个 ...
- 洛谷P2486 [SDOI2011]染色(树链剖分+线段树判断边界)
[题目链接] [思路]: 涉及到树上区间修改操作,所以使用树链剖分,涉及到区间查询,所以使用线段树. update操作时,就正常操作,难点在于query操作的计数. 因为树链剖分的dfs序只能保证一条 ...
- Django中ModelViewSet的应用
ModelViewSet源码 class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateM ...
- centos7删除Apache组件
非特殊需要不要删除centos7中Apache等组件!首先查看centos中Apache版本(前面我们说了centos7删除PHP,centos7删除MariaDB,可能很多朋友会有疑问为什么要把所有 ...
- 09-赵志勇机器学习-k-means
(草稿) k-means: 1. 随机选取n个中心 2. 计算每个点到各个中心的距离 3. 距离小于阈值的归成一类. 4. 计算新类的质心,作为下一次循环的n个中心 5. 直到新类的质心和对应本次循环 ...