本文中使用的是mac上的抓包工具charles進行抓包,手機是華為榮耀8
下載并安裝Charles for Mac
Charles for Mac(HTTP信息抓包工具) V4.2.5 蘋果電腦版
要想抓取到微信小程序的數據首先要解決的第一個問題件就是如何通過charles抓取手機上的數據具體配置過程如下:
MAC上的Charles設置
第一步,charles上通過proxy->proxy setting進入代理設置,入口如下圖所示
點擊后進入如下所示界面
記住此處的port,默認為8888,也可以進行修改,只要不沖突就可以,勾選上Enable transparent HTTP proxying,到此為止完成charles上的初步設置。
到此為止,完成了MAC上的charles設置
手機端設置
第二步,設置手機代理,注意要保證手機所連接的wifi跟電腦在一個局域網內(就是連接同一個wifi就好了)
首先,需要知道電腦的ip地址,我的電腦上通過系統偏好設置->網絡可以查看
注意此處電腦連接的是PHICOMM_air的wifi
手機上進入wifi設置,一般按住你正在連接的wifi一會會彈出一個菜單,點擊修改網絡就到如下界面,勾選“顯示高級選項”,點擊代理
注意此處手機連接的也是PHCOMM_air的wifi
點擊代理后進入如下界面,服務器主機名處填寫剛才查到的電腦的ip地址即可,服務器端口填寫第一步中charles處設置的端口,默認是8888,如果做了修改,填寫設置charles時修改的端口值。
點擊保存,此時charles上會彈出一個對話框,點擊allow即可。此時就可以抓取手機上的http數據包了(注意現在抓取的還不是https數據包)
如下圖所示,點入一個應用后,抓取到的http包
到此為止,MAC上利用charles抓取手機HTTP數據包就完成了,可以通過MAC抓取手機的HTTP數據包了
完成以上步驟,charles會同時抓取手機以及電腦上的數據包,如果針對手機抓包可以通過取消勾選下圖所示的選項屏蔽掉
手機連接不上charles的幾種原因及解決方案:
1.確認手機跟電腦是不是在一個wifi環境下,我在使用過程中又一次手機由于wifi信號強弱問題自動切換過wifi導致抓了一般的數據包抓不到了
2.可以嘗試更換一下端口號(8888可能已經被占用)
3.可以通過電腦手動添加手機的ip
4.試試關掉電腦防火墻,在重新連接
5.重新打開charles,重新設置手機連接
手機端HTTPS數據包抓取
以上設置只能抓取HTTP數據包對于HTTPS數據抓包工具上的列表部分會顯示一堆unknown的地址
那么對于手機端HTTPS數據包的抓取又該如何設置呢請往下看
首先是MAC的配置,進入charles的Help->SSL Proxying->Install Charles Root Certificate
點擊Install Charles Root Certificate之后,會彈出mac的鑰匙串訪問頁面
(正常第一次進去這個證書應該是一個紅叉,我這里由于已經進行過設置所以顯示正常)
右鍵點擊該證書,選擇菜單中的“顯示簡介選項”,接著進入信任欄目,將其全部置為“始終信任”
完成這一步的設置后,這個根證書應該會跟我上面一個截圖一樣,而不會顯示紅叉
接著點擊Proxy->SSL Proxy Settings,彈出如下頁面
彈出的對話框中,勾選Enable SSL Proxying,然后點擊add添加Host為*和Port為443,點擊ok(此處將host設置為*的意思是主抓取全部的http是數據包,如果想針對某個域名抓取可以在此設置)
到此為止,完成了MAC的設置
手機端設置(重要)
接著需要在手機端安裝證書,點擊Charles上的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
點擊之后彈出如下對話框:
接著在手機瀏覽器上訪問charlesproxy.com/getssl這個地址(此處請注意,最好不要用自帶的瀏覽器),我的手機讓我輸入鎖屏密碼,輸入之后,會彈出如下界面:
輸入一個名字比如charlesproxy之后點擊確定,會有一個一閃而過的提示,就ok了
此時進入小程序,可以看到charles上能夠看到https的接口的地址和數據了
注意,有一些應用使用的網絡框架是不允許通過代理訪問的,此時通過charles抓包顯示的地址仍是unknown,或者手機上訪問該應用會提示網絡連接錯誤等信息,此時在MAC上取消勾選charles的SSL Proxying settings中的勾選框就可以正常訪問了
最后,抓取工作完成后,記得把手機上的代理設置恢復原樣,否則當電腦上的charles關閉時,手機將無法正常訪問網絡
好了MAC上利用charles抓取微信小程序數據包,手機APP數據包已經能成功抓取了。下次我們將為大家分享
如何在windows系統上利用charles抓取微信小程序數據包和使用fiddler抓包工具抓取微信小程序數據包,手機APP數據包的操作方法
新聞熱點
疑難解答