使用anyproxy 来抓取手机的数据包
简单介绍Anyproxy
Anyproxy 是alibaba 前端团队开源的http/https 的代理工具
官网地址:http://anyproxy.io/cn/
环境要求:需要安装nodejs
提供的功能:
- 调试线上页面,需要注入某个脚本,或是替换一些html数据。比如常用的移动端调试工具weinre就依赖这种方法
- 不改url,把请求发送到某台指定的服务器,移动端的dns结果有缓存,改host又效率太低
- 查看页面首次打开时的表现,需要阻止CDN提供304这样的响应
- 服务器不支持跨域头Access-Control-Allow-*,调试时却需要发送跨域请求。本地服务器调试app中嵌入的离线页面时常面对这种需求
- 替换cookie,快速实现多账户切换
- 模拟各类网速环境
- 接管某个API的响应,进行数据mock
实际操作,查找制定名称的请求
我使用的anyproxy@beta。
安装命令
sudo npm install -g anyproxy@beta
启动
anyproxy
出现如下
➜ ~ anyproxy
[AnyProxy Log][2017-02-07 10:43:23]: the default rule for AnyProxy.
[AnyProxy Log][2017-02-07 10:43:23]: Anyproxy rules initialize finished, have fun!
[AnyProxy Log][2017-02-07 10:43:23]: GUI interface started at : http://172.18.6.97:8002/
[AnyProxy Log][2017-02-07 10:43:23]: Http proxy started at 172.18.6.97:8001
代理的ip为 172.18.6.97 端口为8001
界面地址为http://172.18.6.97:8002/,可以在浏览器打开该地址
将手机的网络请求设置代理服务器

设置完成后,打开app进行操作
在GUI页面中设置过滤关键字

可以看到带有pageapp的请求就被过滤出来了。
现在我打算把这些记录导出,界面上看来没有办法了。我们通过rule.js 来实现
先关闭之前的anyproxy ,按照如下命令启动
anyproxy --rule Documents/rules/pageapp.js
pageapp.js 内容如下
var logMap = {}
var fs = require('fs');
var logger = fs.createWriteStream(__dirname + '/urlLog.log', {
flags: 'a' // 'a' means appending (old data will be preserved)
})
function logPageFile(url) {
if (!logMap[url]) {
logMap[url] = true;
logger.write(url + '\r\n');
}
}
module.exports = {
summary: function() {
return "查找app中的带有pageapp的h5请求";
},
replaceResponseStatusCode: function(req, res, code) {
return new Promise((resolve, reject) => {
if (code == 200 && /pageapp/g.test(req.url) && res.headers['Content-Type'] == 'text/html') {
logPageFile(req.url)
}
resolve(code);
});
}
}
这样就可以抓取到浏览过的h5地址了
使用anyproxy 来抓取手机的数据包的更多相关文章
- 使用Fiddler抓取手机APP数据包--360WIFI
使用Fiddler抓取手机APP流量--360WIFI 操作步骤:1.打开Fiddler,Tools-Fiddler Options-Connections,勾选Allow remote comput ...
- Fiddler高级用法-抓取手机app数据包
在上一篇中介绍了Fiddler的基本使用方法.通过上一篇的操作我们可以直接抓取浏览器的数据包.但在APP测试中,我们需要抓取手机APP上的数据包,应该怎么操作呢? Andriod配置方法 1)确保手机 ...
- Fiddler抓取手机APP数据包
第一步:下载神器Fiddler,下载链接: http://w.x.baidu.com/alading/anquan_soft_down_ub/10963 下载完成之后,傻瓜式的安装一下了! 第二步:设 ...
- Fiddler 抓取手机APP数据包
Fiddler是一个调试代理,下载地址http://www.telerik.com/download/fiddler 下载安装运行后,查出运行机器的IP,手机连接同一网域内的WIFI,手机WIFI连接 ...
- 利用Fiddler抓取手机APP数据包
Fiddler是一个调试代理,下载地址http://www.telerik.com/download/fiddler 下载安装运行后,查出运行机器的IP,手机连接同一网域内的WIFI,手机WIFI连接 ...
- Fiddler2 抓取手机APP数据包
原文:http://blog.goyiyo.com/archives/2044 下载安装运行后,查出运行机器的IP,手机连接同一网域内的WIFI,手机WIFI连接设置里的高级里,代理设置填写上Fidd ...
- 如何利用fiddler4 抓取手机的数据包
1.安装fiddler . 2.设置fiddler .tool==> option里面 https 要打开,然后选择actions 第一个 安装本地证书: 3.设置手机访问的数据都要经过fi ...
- 用Fiddler抓取手机APP数据包
Fiddler下载地址 1.允许远程连接 2.允许监听https 3.重启Fiddler 这步很重要,不要忘了 4.手机配置 用ipconfig命令查询当前PC的局域网IP 将手机连接上同一个WIFI ...
- Fiddler 详尽教程与抓取移动端数据包
转载自:http://blog.csdn.net/qq_21445563/article/details/51017605 阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Stat ...
随机推荐
- winform中执行任务,解决未响应界面
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { var coun ...
- 线性表(存储结构数组)--Java 实现
/*线性表的数组实现 *特点:插入删除慢需要平均移动一半的数据,查找较快 *注意:有重复和无重复的数据对应的操作会有些不同 *注意数组一旦创建其大小就固定了 *Java集合长度可变是由于创建新的数组将 ...
- 树莓派.安装系统+Node.js+MongoDB系列环境
1.先去树莓派官网下载最新的ROM https://www.raspberrypi.org/downloads/raspbian/ 这里选的是: RASPBIAN JESSIE WITH DESKTO ...
- 浅试 Webview 一app 加载 H5小游戏
整体架构: InventionActivity:实现UI的实例化,基本的按钮Activity之间跳转 GameActivity:实现UI的实例化,Webview的基本使用 MyProgressDial ...
- 有两组随机生成的(0~99999)Int32数据A和B,将A按顺序判断在B中是否存在并记录在Boolean型的C中
http://www.cnblogs.com/asxinyu/p/4504487.html
- ../../../../.. 太low了
痛点 如果我们有这个目录: ├── webpack.config.js ├── src │ ├── view │ │ ├── index.js │ │── router │ │ ├── index.j ...
- 关于在Python下安装布隆过滤器(bloomfilter)的方法
由于在爬虫代码中需要实现信息的去重功能,所以需借助bloomfilter,在看完各种博客后发现没有安装,这就尴尬了,不会连门都找不到吧.那就安装呗,各种错误,查看官方文档:http://axiak.g ...
- Python Web框架篇:Django cookie和session
part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...
- zookeeper启动异常
zookeeper启动报异常 java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) 遇到 ...
- 数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
数据模型(LP32 ILP32 LP64 LLP64 ILP64 ) 32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int.long.指针.而64位环境使用不同的 ...