专栏首页不二小段【爬虫军火库】AnyProxy安装使用【Windows】

【爬虫军火库】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和头脑王者抓包之前我录过一个视频,感兴趣的可以点击原文查看。

本文分享自微信公众号 - 不二小段(rose-fun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 惊了!百度官方居然推出了免费不限速的网盘下载工具?!

    百度网盘是大家十分熟悉的一款产品,曾经功能、速度都还算良心,一度十分火爆。后来,经历了8秒教育片和几次限速之后,大家虽然迫不得已还在用,但是怨声载道。不甘心的技...

    不二小段
  • Julia in Jupyter——在Notebook中配置使用Julia语言

    我刚接触Jupyter Notebook的时候曾经在别处看到一个说法,大意是Jupyter是Julia、Python、R三种语言缩写的合并,当时对Python比...

    不二小段
  • 【爬虫军火库】Chrome F12使用Network分析异步请求

    昨天在知乎收到一条邀答(https://www.zhihu.com/question/263298910): 我想做一个web scrape,用requests...

    不二小段
  • 第十五节、Python之添加新元素《Python学习》

    第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

    小白程序猿
  • 被捧上天的深度学习,遇到这些问题根本干不过简单模型

    今天我们来唱唱反调,推荐一篇Hacker News和Reddit的双料热文《何时该不用深度学习》。 作者 | Pablo Cordero 翻译 | reason...

    AI科技大本营
  • Servlet

    通过前面一系列的博客的梳理,学习了一下Java基础的编程知识,从我自己的感觉上来说,Java与c++的差距并不是很大,Java将c++做了更进一步的抽象,同时丢...

    Masimaro
  • 我眼中的并发编程——Fork/Join模型

    天策
  • 重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现

    本文是微信公众号【Java技术江湖】的《重新学习MySQL数据库》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客...

    Java技术江湖
  • Android Metro风格的Launcher开发系列第二篇

    前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客 Android Metro...

    程序员互动联盟
  • 深度学习真的可以零基础入门吗?

    我们先来谈谈自学深度学习最大的问题。 现在搞深度学习的,十之八九并不是“科班出身”。 这就导致:如果你想要跨行成为一名深度学习工程师,从头到尾的一切,都基本靠自...

    AI研习社

扫码关注云+社区

领取腾讯云代金券