先講解一下思路,是利用mitmproxy代理https協議,從而判定抖音個人資訊介面,在個人資訊介面的返回體接收時將使用者資訊資料,以及Header頭(主要是Cookie),Query體(包含裝置ID)進行遠端儲存,用於請求後續其他介面,從而實現抖音裝置登入授權,這個方法只有初次裝置需要安裝證照這塊比較複雜,後續只要連線某個WIFI設定好代理地址就可以授權登入了,抖音每次賬號登入態持續時間較長,不易出現掉登的問題,所以能夠在賬號較多以及,掉登後重登讓業務人員也能夠自行登入,避免開發人員每次去抓包更新登入態的問題。
1.什麼是mitmproxy
?
用官網的簡單介紹:mitmproxy
是一個免費開源的互動式HTTPS代理。
簡單理解一下就是類似Fiddler
、Charles
的一個抓包工具,但是不同的是mitmproxy
是可程式設計的,可以根據提供的Python API
可進行程式設計,在代理中加入自己的業務邏輯程式碼,並且能夠篡改轉發返回以及請求體。
官網地址:https://www.mitmproxy.org/
2.安裝mitmproxy
安裝官方文件針對環境需求進行安裝,我這裡採用pip安裝,只需要執行sudo pip3 install mitmproxy
命令即可,你也可以選擇通過其他方式進行安裝。
3.執行mitmproxy
在命令列中執行mitmdump
出現以下資訊則執行成功
Proxy server listening at http://*:8080
手機連線代理
1.連線手機WIFI(測試階段需要連線統一區域網WIFI),隨後點選紅圈處進行代理設定
2.點選代理選擇手動輸入以下資訊
主機名: 這裡輸入執行`mitmdump`服務的區域網IP|線上環境則為外網IP
埠:8080(預設埠)
然後點選右上角√儲存
3.檢視代理是否成功
手機上點選或者訪問http網站,看到一下資訊則表示代理成功
但是隨後依舊會發現會出現大量的
這個情況是因為目前只是成功代理了HTTP協議而HTTPS協議還需要安裝證照信任才能正常代理,之前有用過Fiddler
、Charles
之類的童鞋應該是知道的。
4.安裝HTTPS信任證照
首先需要注意一點,IOS裝置可以直接安裝證照,而安卓手機7.0以下才能直接安裝證照而7.0+則需要ROOT將證照注入到系統中才能正常進行代理。
IOS:
4-1-1.用手機自帶瀏覽器 輸入mitm.it 訪問網站。
4-1-2.選擇Apple,允許配置描述檔案的下載。
4-1-3.IOS裝置進入手機設定-通用-描述檔案-找到mitmproxy 點選安裝。
4-1-4.IOS裝置進入手機設定-通用-關於本機-證照信任設定 開啟mitmproxy
安卓:
這裡以7.0+裝置為例,因為7.0以下流程與IOS基本相同,只需要下載安裝即可,預設信任 不用信任設定。
當前採用的是 紅米 5 Plus,開發版系統(預設ROOT)
安裝教程:https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/
5.檢視HTTPS代理是否成功
殺死抖音程式,重啟抖音App點選選單中的 “我”
檢視控制檯可以發現使用者資訊介面已經代理成功(目前抖音版本搜尋/user/profile/self/
)
目前已經完成了mitmproxy整個代理流程,後續將講解如何進行程式設計完成使用者資訊相關資料儲存,用於後續介面使用。