AnyProxy安装使用【Windows】

分析网络请求详情是写爬虫应用的初始步骤,抓包便是一种十分强大的分析手段,尤其是对手机App进行抓包,往往能收获到Web端没有的API接口。抓包的工具多种多样,功能用法类似,今天给大家介绍一下AnyProxy。

抓包的工具有很多了,我之前一直用的Fiddler,也有(打算)写一篇文章介绍,虽然现在依然躺在草稿箱里…

那么今天来记录一下Windows平台下安装使用AnyProxy的过程。

AnyProxy是阿里爸爸出的一款抓包工具,依赖NodeJS,多平台可用。

第一步:安装NodeJS

在官网nodejs.org下载安装包,傻瓜式安装即可。

推荐使用LTS版本

一路Next即可

第二步:安装运行Anyproxy

npm install -g anyproxy

这一步安装完成后,AnyProxy就已经可以使用了,可以直接在控制台输入anyproxy运行。

设置浏览器为127.0.0.1:8001,手机代理为IP:8001,即可在AnyProxy管理终端看到抓包信息。

启动AnyProxy

浏览器设置Internet选项

AnyProxy提供Web端的管理界面。设置完成后访问127.0.0.1:8002即可打开Web管理页面,看到抓取的流量信息。

AnyProxy Web管理后台

设置手机的代理前要先知道安装AnyProxy机器的本机局域网IP。

在控制台使用ipconfig命令查看本机IP

我这边为了方便截图使用了安卓模拟器,真机类似。

手机上设置代理

第三步:生成证书并安装(Windows+安卓,其他平台类似)

完成第二步后,我们虽然能在控制台看到一大堆请求信息,但是仔细看后会发现其中并没有成功解析到HTTPS请求,原因在于我们没有生成RootCA证书。如想看到明文信息,必须配置CA证书。

通过 anyproxy-ca 命令生成CA文件。

生成CA文件

Windows上直接双击安装即可。

Windows安装CA证书

之后通过anyproxy -i命令启动监听,即可捕获HTTPS请求。(注意加-i的参数)

手机端可以通过Web端的二维码扫描下载CA文件,或者手动访问http://ip:8002/fetchCrtFile 下载文件安装。

有些真机没办法直接运行安装文件的,需要在设置-系统安全-从存储设备安装中手动安装。

手机安装CA证书

至此我们已经基本完成了AnyProxy的安装,接下来就是具体使用。如果是前端开发需要调试请求、篡改本地数据进行返回的,可以参考官方文档。单从爬虫应用来说,我们只要能获取到请求和返回的具体信息就好。

一个小栗子。知乎的微信小程序头脑王者(现在叫知乎答题王),题目抓包。在监听状态下玩一场小游戏以后查看记录到的请求。

(这一步使用模拟器测试小程序偶尔会卡死,所以我这边是抓的真机数据包)

答题过程中抓到的数据

来具体看一下返回数据的组成

返回的具体情况

这样的JSON数据对我们的后续处理是十分友好的。

格式化后的JSON数据,格式清晰明了

那今天就简单记录到这里,Fiddler也会找时间写一下。Fiddler和头脑王者抓包之前我录过一个视频,感兴趣的可以点击原文查看。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 AnyProxy 可以实现登录用户信息的替换,具体步骤如下: 1. 安装 AnyProxy 使用 npm 进行安装: ``` npm install -g anyproxy ``` 2. 启动 AnyProxy 使用以下命令启动 AnyProxy: ``` anyproxy --intercept ``` 该命令会启动 AnyProxy,并且开启拦截模式。 3. 配置浏览器代理 在浏览器中配置代理,将代理地址和端口设置为 AnyProxy 的地址和端口。例如,如果 AnyProxy 的地址为 `localhost`,端口为 `8001`,则在浏览器中设置代理地址为 `http://localhost:8001`。 4. 登录和获取用户信息 在浏览器中登录目标网站,并且获取用户信息的请求 URL。例如,获取用户信息的请求 URL 为 `http://example.com/user/info`。 5. 编写替换规则 在 AnyProxy 中编写替换规则,将获取用户信息的请求的响应内容替换为指定的用户信息。在 AnyProxy 的配置文件中,添加以下代码: ``` module.exports = { summary: 'replace user info', *beforeSendRequest(requestDetail) { if (requestDetail.url === 'http://example.com/user/info') { return { response: { statusCode: 200, header: {'Content-Type': 'application/json'}, body: '{"name": "Alice", "age": 24}' } }; } } }; ``` 该代码中,`*beforeSendRequest` 函数会在发送请求之前被调用,并且可以修改请求的内容和响应的内容。在该函数中,如果请求的 URL 是获取用户信息的 URL,则返回一个替换后的响应内容。 6. 重启 AnyProxy 重启 AnyProxy,使配置文件生效。 7. 再次登录和获取用户信息 在浏览器中再次登录目标网站,并且获取用户信息。此时,获取用户信息的请求的响应内容将被替换为指定的用户信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值