HttpCanary(高級(jí)版已內(nèi)置插件)app是一款簡(jiǎn)易又好用的手機(jī)軟件,實(shí)際操作的頁(yè)面十分的簡(jiǎn)易,并不是沒辦法的頁(yè)面,會(huì)看手機(jī)的客戶一看就會(huì),全部頁(yè)面非常的簡(jiǎn)約,是一款還蠻非常好的實(shí)用工具運(yùn)用,應(yīng)用很便捷。
應(yīng)用說(shuō)明
HttpCanary是功能強(qiáng)大的Android抓包工具,用于Android平臺(tái)的功能強(qiáng)大的網(wǎng)絡(luò)分析工具。
支持TCP / UDP / HTTP / HTTPS / WebSocket等多種協(xié)議,可以視為Android平臺(tái)下的Fiddler和Charles。
適用于Android,初級(jí)和初級(jí)軟件工程師對(duì)Rest API調(diào)試,定位網(wǎng)絡(luò)編程中出現(xiàn)的bug。
測(cè)試工程師編輯網(wǎng)絡(luò)數(shù)據(jù)模擬不同業(yè)務(wù)場(chǎng)景,進(jìn)行白盒或黑盒測(cè)試。
網(wǎng)絡(luò)安全工程師對(duì)App和服務(wù)器網(wǎng)絡(luò)通信的風(fēng)險(xiǎn)進(jìn)行測(cè)試和驗(yàn)證等場(chǎng)景,使用需要一定的計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí),有需要的朋友不要錯(cuò)過(guò)了!
應(yīng)用特色
* 支持協(xié)議
HTTP1.0, HTTP1.1, HTTP2.0, WebSocket and TLS/SSL。
* 注入功能
HttpCanary提供了兩種不同的注入模式:靜態(tài)注入和動(dòng)態(tài)注入。使用這兩種模式,可以實(shí)現(xiàn)對(duì)請(qǐng)求參數(shù),請(qǐng)求/響應(yīng)頭,請(qǐng)求/響應(yīng)體,響應(yīng)行的注入。您還可以創(chuàng)建不同需求的注入器,因?yàn)殪o態(tài)注入可以支持多個(gè)注入器同時(shí)工作。
* 數(shù)據(jù)瀏覽
HttpCanary具有多種不同的視圖瀏覽功能。
Raw視圖:可以查看原始數(shù)據(jù);
Text視圖:以Text的形式查看請(qǐng)求/響應(yīng)體內(nèi)容;
Hex視圖:以Hex的形式查看請(qǐng)求/響應(yīng)體內(nèi)容;
Json視圖:格式化Json字符串,支持節(jié)點(diǎn)的展開、關(guān)閉和復(fù)制等操作;
圖片視圖:可以預(yù)覽BPM、PNG、GIF、JPG、WEBP等格式的圖片內(nèi)容;
音頻視圖:可以播放AAC、WAC、 MP3、OGG、MPEG等格式的音頻內(nèi)容;
HttpCanary原理
HttpCanary采用方式將網(wǎng)絡(luò)包轉(zhuǎn)發(fā)給本地代理服務(wù)器,本地代理服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)虛擬網(wǎng)關(guān),由虛擬網(wǎng)關(guān)進(jìn)行不同策略地?cái)r截和協(xié)議解析,最后再將數(shù)據(jù)發(fā)送給終端,原理圖如下。
這是響應(yīng):
其中,最重要的一層就是虛擬網(wǎng)關(guān)(Virtual Gateway),需要對(duì)協(xié)議進(jìn)行鑒定解析等等,包括數(shù)據(jù)包的攔截注入都是在這一層處理的,比如HTTPS的中間人(MITM)解析出明文包。虛擬網(wǎng)關(guān)采用攔截器的設(shè)計(jì)(Interceptor),既提供了內(nèi)部封裝的解析邏輯,又提供了對(duì)外擴(kuò)展的接口,比如HttpCanary的模組化設(shè)計(jì)(后面會(huì)詳說(shuō))也是實(shí)現(xiàn)的這些接口。
以上整個(gè)過(guò)程都封裝在名為NetBare的庫(kù)內(nèi),代碼還在整理中,我會(huì)盡快將NetBare開源到Github。NetBare目前已經(jīng)實(shí)現(xiàn)了對(duì)IP協(xié)議簇下的TCP和UDP的轉(zhuǎn)發(fā)邏輯,以及對(duì)TCP協(xié)議中HTTP1.0和1.1版本的解析功能,其它的協(xié)議可以后續(xù)再擴(kuò)展。理論上,集成NetBare庫(kù)可以實(shí)現(xiàn)類似Wireshark,F(xiàn)iddler等抓包工具的功能,HttpCanary App就是集成了NetBare庫(kù),實(shí)現(xiàn)了對(duì)Http的抓包、注入等功能。
這是響應(yīng):
其中,最重要的一層就是虛擬網(wǎng)關(guān)(Virtual Gateway),需要對(duì)協(xié)議進(jìn)行鑒定解析等等,包括數(shù)據(jù)包的攔截注入都是在這一層處理的,比如HTTPS的中間人(MITM)解析出明文包。虛擬網(wǎng)關(guān)采用攔截器的設(shè)計(jì)(Interceptor),既提供了內(nèi)部封裝的解析邏輯,又提供了對(duì)外擴(kuò)展的接口,比如HttpCanary的模組化設(shè)計(jì)(后面會(huì)詳說(shuō))也是實(shí)現(xiàn)的這些接口。
以上整個(gè)過(guò)程都封裝在名為NetBare的庫(kù)內(nèi),代碼還在整理中,我會(huì)盡快將NetBare開源到Github。NetBare目前已經(jīng)實(shí)現(xiàn)了對(duì)IP協(xié)議簇下的TCP和UDP的轉(zhuǎn)發(fā)邏輯,以及對(duì)TCP協(xié)議中HTTP1.0和1.1版本的解析功能,其它的協(xié)議可以后續(xù)再擴(kuò)展。理論上,集成NetBare庫(kù)可以實(shí)現(xiàn)類似Wireshark,F(xiàn)iddler等抓包工具的功能,HttpCanary App就是集成了NetBare庫(kù),實(shí)現(xiàn)了對(duì)Http的抓包、注入等功能。
HttpCanary特性
下面主要介紹下HttpCanary此應(yīng)用的功能以及特性,會(huì)強(qiáng)大到讓你顫抖!
3.1 HTTP/HTTPS抓包
HttpCanary能夠抓到HTTP/HTTPS 1.0和1.1版本的數(shù)據(jù)包,HTTP包很簡(jiǎn)單,明文傳輸100%能抓到。但是HTTPS的包比較麻煩,HttpCanary通過(guò)中間人(MITM)的方式對(duì)TLS/SSL數(shù)據(jù)包進(jìn)行解密并明文輸出。首先需要安裝自簽的CA證書,App內(nèi)可以一鍵安裝,安裝時(shí)需要輸入用戶手勢(shì)密碼:
但是,由于從Android Nougat(7.0)開始,谷歌改變了網(wǎng)絡(luò)安全策略。自簽的CA證書將默認(rèn)不被HTTPS連接信任,這意味著HttpCanary將無(wú)法解析TLS/SSL數(shù)據(jù)包,即無(wú)法抓取HTTPS的明文數(shù)據(jù)。但是我們可以通過(guò)兩種方式來(lái)繞過(guò)這種限制。
功能介紹
1、抓取并保存http和https請(qǐng)求。
2、不需要root。
3、解析請(qǐng)求和響應(yīng)信息,能夠解析的格式包括圖片、文字、GZIP壓縮、Chunk等格式。
4、能夠?qū)ψト〉膱D片進(jìn)行分享。
5、能夠保存抓取后的包內(nèi)容。
6、代碼開源。
中文名:HttpCanary(高級(jí)版)
包名:com.httpcanary.pro
MD5值:45cbe644a0131e7a5060c5bb1902abcb