HttpCanary使用指南——各種神奇的外掛

MegatronKing發表於2019-03-24

HttpCanary更多資料,點我!!!

作為目前Android平臺最強大的抓包工具,HttpCanary從設計之初就規劃了外掛功能(2.6.0版本之前稱為‘模組’)。基於NetBare框架的虛擬閘道器-攔截器設計,HttpCanary可以實現非常多的擴充套件功能,比如Host遮蔽、IP遮蔽等。我將一些擴充套件功能都以外掛的形式,整合到HttpCanary中,既互相獨立又相互作用,最典型的就是靜態注入器

這篇文章將詳細介紹下HttpCanary內建的各種神奇外掛,包括如何使用以及使用場景。

使用條件

HttpCanary版本 v2.6.0+
複製程式碼

外掛安裝

HttpCanary -> 設定 -> 外掛管理 -> 右上角+號 -> 外掛倉庫
複製程式碼

HttpCanary使用指南——各種神奇的外掛

外掛1:Host遮蔽

利用Host遮蔽外掛,我們可以遮蔽對指定Host或者伺服器IP的Http請求,比如遮蔽廣告請求等。

HttpCanary使用指南——各種神奇的外掛

1.1 使用方式

建立一個名為hosts.txt的文字檔案,將需要遮蔽的Host或者IP以一行一行的格式新增進去,然後複製到/HttpCanary/plugins/HostBlock/目錄下。比如:

www.hello.com
www.work.com
www.bug.com:8080
複製程式碼

除了Host,也可以加入IP地址:

10.11.12.13
10.10.10.10
123.123.123.123
複製程式碼

當然,還可以Host和IP混著寫:

www.hello.com
10.11.12.13
10.10.10.10
www.work.com
123.123.123.123
www.bug.com:8080
複製程式碼

1.2 注意事項

Host後面有些情況下需要加入埠號,具體可以到抓包內容總覽中檢視Host後面是否有埠號。

外掛2:MimeType遮蔽

和Host遮蔽類似,MimeType遮蔽外掛可以用來遮蔽指定型別的Mime-Type,但不同的是MimeType遮蔽外掛的遮蔽功能分為上行遮蔽和下行遮蔽,即可以配置遮蔽請求或者遮蔽響應。

HttpCanary使用指南——各種神奇的外掛

什麼是MimeType?它是一種包含在Http頭部的Content-Type中的資料,用來標識資料型別,比如圖片、Json、Html等,各種MimeType的定義請點這裡

2.1 使用方式

如果要遮蔽包含指定MimeType的請求,建立一個名為req-mimes.txt的文字檔案,將需要遮蔽的MimeType以一行一行的格式新增進去,然後複製到/HttpCanary/plugins/MimeTypeBlock/目錄下。如果是要遮蔽響應,則文字檔名應為res-mimes.txt。

比如說我要遮蔽一些視訊廣告,可以在res-mimes.txt中新增如下:

video/mp4
複製程式碼

這樣,所有mp4型別的資料響應都被HttpCanary遮蔽了,包括視訊廣告等。

2.2 外掛應用

下面以企鵝家的視訊應用為例,看一下視訊廣告的攔截效果。

首先,配置好外掛並啟用。簡單步驟如下:

  • 開啟/HttpCanary/plugins/MimeTypeBlock目錄,編輯res-mimes.txt。
  • 加入一行:video/mp4,然後儲存。
  • 啟動首頁抓包開關按鈕。

HttpCanary使用指南——各種神奇的外掛

準備好之後,開啟企鵝視訊應用,注意先把快取清理下,防止有本地廣告視訊快取。

來個效果圖:

HttpCanary使用指南——各種神奇的外掛

開著HttpCanary的時候廣告已經load不出來了,遮蔽生效!

外掛3:圖片、音訊和視訊下載器

有的時候,我們希望能儲存某些圖片、視訊等媒體檔案並分享到微信好友或朋友圈,比如一段精彩的電影預告片等。但是一般情況下,網站或者應用只提供瀏覽的功能,不會提供下載或者儲存功能。這個時候HttpCanary的下載器外掛就派上用場了。

HttpCanary的下載器一共有三個,分別是圖片下載、音訊下載、視訊下載。原理都是通過檢測Http響應資料頭部中的Content-Type,從而判斷是否需要儲存響應資料。

下面以圖片下載器外掛為例。

HttpCanary使用指南——各種神奇的外掛

3.1 使用方式

安裝好外掛後,直接在首頁開啟抓包按鈕。然後所有的圖片請求檔案都會自動儲存到/HttpCanary/plugins/ImageDownloader目錄下。

HttpCanary使用指南——各種神奇的外掛

連任何Icon都不會放過!

外掛4:請求統計表

如果希望將所有抓包到的請求資訊,以Excel表的形式匯出,這個外掛就派上用場了!

HttpCanary使用指南——各種神奇的外掛

請求資料統計的維度包括:

  • Url
  • 伺服器IP
  • 協議
  • 請求方法
  • 響應碼
  • 請求開始時間
  • 請求響應時間
  • 請求結束時間
  • 請求資料大小(B)
  • 響應資料大小(B)
  • 耗時1(ms)
  • 耗時2(ms)

其中包括一些請求時間維度,可以用來計算網路請求的平均耗時,是效能測試一款利器。

4.1 使用方式

安裝好外掛後,直接在首頁開啟抓包按鈕。當停止抓包後,會自動在/HttpCanary/plugins/StatsOverview目錄下生成本次抓包的Excel表格。

HttpCanary使用指南——各種神奇的外掛

外掛5:微信定位漂移

微信定位漂移外掛是用來修改定位經緯度的,實現“蒙多想去哪兒就去哪兒”的功能。包括:聊天時傳送的地理位置,發朋友圈的地理位置。

HttpCanary使用指南——各種神奇的外掛

5.1 使用方式

將經緯度按照 經度,緯度 的格式複製到貼上板上,比如可以利用百度地圖座標拾取系統獲取指定地點的經緯度(右上角直接複製即可)。完成後啟動首頁抓包按鈕。

測試效果的話,也可以使用長按上圖描述文案中的經緯度,然後複製。我們以116.41667,39.91667(北京王府井)為例,當然開發者本人是遠在深圳。

微信中傳送位置,顯示如下:

HttpCanary使用指南——各種神奇的外掛

成功漂移!

再來看朋友圈的地理位置:

HttpCanary使用指南——各種神奇的外掛

成功漂移!

外掛須知

由於每個外掛都是獨立的攔截器,且每個攔截器都會對網路流量進行分析探測,所以如果啟用的外掛過多,對效能是有一定的影響的,比如卡頓,訪問網路慢等。

另外,如果說只需要用到外掛功能,而不需要關心具體抓包內容,比如下載器、廣告遮蔽等。強烈建議在設定中開啟效能模式!

最後,關於外掛的啟用、禁用、刪除,均可以在設定->外掛管理->長按外掛來管理。

結語

如果您對HttpCanary有任何疑問或者建議,可以訪問HttpCanary Github並建立issue!

外掛的使用指南到此結束,感謝您的閱讀!

相關文章