HttpCanary(高级版已内置插件)app是一款简易又好用的手机软件,实际操作的页面十分的简易,并不是没办法的页面,会看手机的客户一看就会,全部页面非常的简约,是一款还蛮非常好的实用工具运用,应用很便捷。
应用说明
HttpCanary是功能强大的Android抓包工具,用于Android平台的功能强大的网络分析工具。
支持TCP / UDP / HTTP / HTTPS / WebSocket等多种协议,可以视为Android平台下的Fiddler和Charles。
适用于Android,初级和初级软件工程师对Rest API调试,定位网络编程中出现的bug。
测试工程师编辑网络数据模拟不同业务场景,进行白盒或黑盒测试。
网络安全工程师对App和服务器网络通信的风险进行测试和验证等场景,使用需要一定的计算机网络基础知识,有需要的朋友不要错过了!
应用特色
* 支持协议
HTTP1.0, HTTP1.1, HTTP2.0, WebSocket and TLS/SSL。
* 注入功能
HttpCanary提供了两种不同的注入模式:静态注入和动态注入。使用这两种模式,可以实现对请求参数,请求/响应头,请求/响应体,响应行的注入。您还可以创建不同需求的注入器,因为静态注入可以支持多个注入器同时工作。
* 数据浏览
HttpCanary具有多种不同的视图浏览功能。
Raw视图:可以查看原始数据;
Text视图:以Text的形式查看请求/响应体内容;
Hex视图:以Hex的形式查看请求/响应体内容;
Json视图:格式化Json字符串,支持节点的展开、关闭和复制等操作;
图片视图:可以预览BPM、PNG、GIF、JPG、WEBP等格式的图片内容;
音频视图:可以播放AAC、WAC、 MP3、OGG、MPEG等格式的音频内容;
HttpCanary原理
HttpCanary采用方式将网络包转发给本地代理服务器,本地代理服务器将数据包转发虚拟网关,由虚拟网关进行不同策略地拦截和协议解析,最后再将数据发送给终端,原理图如下。
这是响应:
其中,最重要的一层就是虚拟网关(Virtual Gateway),需要对协议进行鉴定解析等等,包括数据包的拦截注入都是在这一层处理的,比如HTTPS的中间人(MITM)解析出明文包。虚拟网关采用拦截器的设计(Interceptor),既提供了内部封装的解析逻辑,又提供了对外扩展的接口,比如HttpCanary的模组化设计(后面会详说)也是实现的这些接口。
以上整个过程都封装在名为NetBare的库内,代码还在整理中,我会尽快将NetBare开源到Github。NetBare目前已经实现了对IP协议簇下的TCP和UDP的转发逻辑,以及对TCP协议中HTTP1.0和1.1版本的解析功能,其它的协议可以后续再扩展。理论上,集成NetBare库可以实现类似Wireshark,Fiddler等抓包工具的功能,HttpCanary App就是集成了NetBare库,实现了对Http的抓包、注入等功能。
这是响应:
其中,最重要的一层就是虚拟网关(Virtual Gateway),需要对协议进行鉴定解析等等,包括数据包的拦截注入都是在这一层处理的,比如HTTPS的中间人(MITM)解析出明文包。虚拟网关采用拦截器的设计(Interceptor),既提供了内部封装的解析逻辑,又提供了对外扩展的接口,比如HttpCanary的模组化设计(后面会详说)也是实现的这些接口。
以上整个过程都封装在名为NetBare的库内,代码还在整理中,我会尽快将NetBare开源到Github。NetBare目前已经实现了对IP协议簇下的TCP和UDP的转发逻辑,以及对TCP协议中HTTP1.0和1.1版本的解析功能,其它的协议可以后续再扩展。理论上,集成NetBare库可以实现类似Wireshark,Fiddler等抓包工具的功能,HttpCanary App就是集成了NetBare库,实现了对Http的抓包、注入等功能。
HttpCanary特性
下面主要介绍下HttpCanary此应用的功能以及特性,会强大到让你颤抖!
3.1 HTTP/HTTPS抓包
HttpCanary能够抓到HTTP/HTTPS 1.0和1.1版本的数据包,HTTP包很简单,明文传输100%能抓到。但是HTTPS的包比较麻烦,HttpCanary通过中间人(MITM)的方式对TLS/SSL数据包进行解密并明文输出。首先需要安装自签的CA证书,App内可以一键安装,安装时需要输入用户手势密码:
但是,由于从Android Nougat(7.0)开始,谷歌改变了网络安全策略。自签的CA证书将默认不被HTTPS连接信任,这意味着HttpCanary将无法解析TLS/SSL数据包,即无法抓取HTTPS的明文数据。但是我们可以通过两种方式来绕过这种限制。
功能介绍
1、抓取并保存http和https请求。
2、不需要root。
3、解析请求和响应信息,能够解析的格式包括图片、文字、GZIP压缩、Chunk等格式。
4、能够对抓取的图片进行分享。
5、能够保存抓取后的包内容。
6、代码开源。
中文名:HttpCanary(高级版)
包名:com.httpcanary.pro
MD5值:45cbe644a0131e7a5060c5bb1902abcb