AndroidHttpCapture---手機輕鬆抓包工具

          AndroidHttpCapture網絡診斷工具 是一款針對於移動流量劫持而開發的手機抓包軟件 主要功能包括:手機端抓包、PING/DNS/TraceRoute診斷、抓包HAR數據上傳分享。你也可以看成是Android版的"Fiddler" \(^o^)/~github地址:androidHttpCapture

          

AndroidHttpCapture網絡診斷工具

是一款針對於移動流量劫持而開發的手機抓包軟件
主要功能包括:手機端抓包、PING/DNS/TraceRoute診斷、抓包HAR數據上傳分享
使用前請確保手機HTTP代理的關閉

Demo APK下載
image 

1. http抓包
當用戶通過HttpInterceptor訪問頁面的時候,所有的http請求都會被記錄下來,然後這些請求包可以預覽、分享、上傳(上傳接口的網址需自行在MainActivity修改)。

第一次進入程序需要安裝CA證書以便進行HTTPS抓包(原理同fiddler,MITM中間人)

預覽頁面可以查看從APP啓動起所有網絡請求數據,實現了按分頁過濾、URL搜索功能,並可清空所有數據包
預覽的內容包括Request Header、Request Cookie、Request Content、Response Header、Response Cookie、Response Content
Content內容如果爲JSON將會自動格式化顯示
image image
分享功能將抓包生成的所有數據包打包爲har文件並壓縮爲zip,支持分享到微信、QQ等

2. 環境切換
支持切換模擬爲微信、手Q,默認爲普通瀏覽器。
image

3. 多樣性輸入:導航、地址欄、掃一掃、schema呼起
HttpInterceptor的首頁爲一個導航頁,目前集成了微信和手Q的一級和二級入口,可以快速直達各目標頁面。
另外還支持地址欄直接輸入地址,掃掃描二維碼,以及schema呼起app並打開目標頁面。
schema的協議格式爲:jdhttpmonitor://webview?param={'url'='http://www.baidu.com'}

4. Host配置
可以配置各域名的host
image

5. 查看console.log日誌
image

6. 網絡工具
目前HttpInterceptor集成了常見的網絡工具,如dns,ping,以及設備信息

7. 設置系統代理,監聽其他app請求包(僅android版支持)
當將用戶所使用的wifi代理服務器設置爲127.0.0.1:8888時,可以對其他app進行抓包(此時該HttpInterceptor就是一個手機上的fiddler)
image

二.Q & A
1. 分享的http包如何查看和分析?
分享的http包格式後綴爲.har,可以通過fiddler方式或者在線工具進行分析。
Fiddler方式需要先將包導到電腦上,然後使用fiddler導入該包:Import Sessions->Select Import Format ->HTTPArchive ->選擇包,即可
在線工具外網:http://h5.darkal.cn/har/
只需要將包拖入此工具即可分析

三.致謝
AndroidHttpCapture基於Netty、browsermob-proxy來實現核心抓包的功能
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
https://github.com/netty/netty
由於Android5.0+不支持Provider 爲JKS的證書,所以逆向修改了Netty庫的證書部分適配Android系統(netty_android.jar)

A free utility to help web developers watch and manipulate network traffic from their AJAX applications.
https://github.com/lightbody/browsermob-proxy
修改了多處browsermob-proxy的源碼適配Android系統

目前遺留了一個Bug:信任所有的服務器證書不做校驗

MIT License
Copyright (c) 2016 AndroidHttpCapture

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

發佈了49 篇原創文章 · 獲贊 35 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章