Android 抓包工具——HttpCanary
简介
HttpCanary
是Android
平台下功能最强大的网络分析工具,支持TCP/UDP/HTTP/HTTPS/WebSocket
等多种协议,可以视为Android
平台下的Fiddler
和Charles
。
HttpCanary
的使用者需要掌握一定的计算机网络基础知识,且仅适用于以下使用场景:
Android
、前端和后端软件工程师对Rest
API
调试,定位网络编程中出现的bug。- 测试工程师编辑网络数据模拟不同业务场景,进行白盒或黑盒测试。
- 网络安全工程师对App和服务器网络通信的风险进行测试和验证。
功能特性
多协议支持
- 支持HTTP1.0/HTTP1.1/HTTP2/HTTPS协议。
- 支持WebSocket协议。
- 支持TCP/UDP协议。
数据分析支持
- 支持常见编码格式解析,例如gzip、brotli、chunked等。
- 数据包内容搜索和过滤,支持创建自定义过滤规则。
- 数据内容预览,例如JSON、图片、音频、视频、文本、Cookie等。
- 丰富的数据分析视图,例如Raw视图、HEX视图、TEXT视图等。
- 网络详情分析,支持HTTP详情总览、请求/响应数据量、时间统计等。
- 支持数据包收藏、备注、保存、分享、复制。
调试支持
- 断点指定请求,支持修改数据再提交。
- 注入器支持,创建自定义规则修改数据包。
- 支持对网络请求重发、编辑重发、批量重发等操作。
- 配置黑名单或者白名单,自由指定目标抓包。
- 支持数据包屏蔽,比如屏蔽客户端发向服务器的指定数据包。
插件支持
- 内置多种常用插件,比如视频自动下载、微信定位漂移等。
- 注入器插件创建、导入和导出(部分功能实现中)。
下载安装
- 官方下载地址: Google Play
- 国内站点下载地址: httpcanary v9.2.8.1
设备要求
- Android 5.0+/真机+模拟器/Wifi+蜂窝网络/无root要求。
请求抓包
抓包步骤
1.启动应用,点击右下角小飞机抓包按钮,此时会弹出安装CA
证书弹窗,点击安装
即可。
2.为证书命令可以自定义一个名词,这里我们使用默认的名称。
3.界面提示创建VPN
连接,点击确定
。
4.启动应用,此时右下角会有抓包悬浮窗。
5.双击浮窗可以方法查看抓包请求列表。
请求分析
1.点击请求列表中任意一个请求,可以查看请求详情。
2.点击请求
菜单可以查看到详细的请求信息。
3.点击响应
菜单可以查看响应信息。
其他功能
请求搜索
HttpCanary会默认将设备上所有请求获取,所以请求列表会有非常多的请求,怎么找到我们想要查看的请求呢?我们可以点击右上角的搜索按钮,然后我们可以看到有很多搜索选项。
例如根据Host
来筛选,我们勾选域名m.baidu.com
勾选完成之后回到请求列表界面,可以看到展示的都是域名m.baidu.com
相关的请求。
请求收藏
在请求界面点击右上角收藏按钮♥
可以收藏请求
收藏完成之后可以点击主界面菜单,点击收藏菜单查看所有收藏的请求。
目标应用
如果想针对指定应用进行抓包,可以设置目标应用来进行抓包。依次点击左上角主界面菜单三
然后点击设置
进入设置界面。
点击目标应用
菜单,可以选择设备上应用列表或者直接输入应用包名。
目标Host
设置目标Host可以对指定的域名进行抓包,在设置界面点击菜单目标Host
添加IP
或域名保存生效。
DNS服务器
在设置界面点击DNS服务器菜单可以设置DNS
,HttpCanary
默认提供了一些公共的DNS
可以选择,点击右上角添加按钮+
可以添加自定义的DNS
地址。