anyproxy抓包入门使用

anyproxy是爬移动app的好帮手,作为中间人攻击的中间人,可以拿到请求和响应,先来看下怎么用

1.安装
sudo npm install -g anyproxy
2.启动
anyproxy --port 8001

启动成功后会在可以直接访问 8002端口 进入anyproxy控制面板
http://127.0.0.1:8002/
同时监听8001端口的请求

3.手机连接,设置代理
4.手机安装ca证书(需要抓https时)
5.改启动方式 监听https
//默认是8001端口
anyproxy --intercept 

有时候上面这种写法失败了,抓不到https,报verity相关错误 尝试

sudo anyproxy --intercept -i --ignore-unauthorized-ssl
6.拦截信息

用anyproxy的原因就是为了方便篡改和记录数据,这里用喜马拉雅fm里面的数据做个例子,编写一个rule.js文件

module.exports = {
    *beforeSendResponse(requestDetail, responseDetail)
{
    console.log(requestDetail.url);

    if (requestDetail.url.indexOf('mobile/discovery/v2/category/metadata/albums/ts-') > 0) {
        const newResponse = responseDetail.response;
        var bodyjson=JSON.parse(newResponse.body);
        // console.log(typeof newResponse.body);
        // console.log(bodyjson);
        var alumindex;
        for(alumindex in bodyjson.list){
            var alum=bodyjson.list[alumindex];
            console.log(alum.albumId);
            console.log(alum.title);
        }
//注释掉的代码是用来redis保存数据的
        // var redis = require('redis');
        // var client = redis.createClient();
        // client.sadd(['testximalaya',newResponse.body],function (err, reply) {
        //     console.log(reply);
        // });
        return null;
    }
}
};

注意的是,这个rule.js文件是基于nodejs的,理论上nodejs能够做的如发起请求,保存数据文件,它都能干,方法自行百度
然后命令行启动anyproxy,关键参数 --rule 后面接rule.js的路径

sudo anyproxy  --intercept  --rule rule.js -i --ignore-unauthorized-ssl  
7.使用效果

起来之后手机连上喜马拉雅,进到有声书,筛选,随便选个类目,anyproxy启动的终端会打印出取出来的参数,如下所示,上面是id,下面是标题


anyproxy抓包入门使用_第1张图片
效果图

如果把代码里面的redis的注释拿掉,就会写入你的redis中

你可能感兴趣的:(anyproxy抓包入门使用)