MAC系統(tǒng)利用charles抓取微信小程序和手機(jī)APP數(shù)據(jù)包(http和https數(shù)據(jù)包)
本文中使用的是mac上的抓包工具charles進(jìn)行抓包,手機(jī)是華為榮耀8
下載并安裝Charles for Mac
Charles for Mac(HTTP信息抓包工具) V4.2.5 蘋果電腦版
要想抓取到微信小程序的數(shù)據(jù)首先要解決的第一個問題件就是如何通過charles抓取手機(jī)上的數(shù)據(jù)具體配置過程如下:
MAC上的Charles設(shè)置
第一步,charles上通過proxy->proxy setting進(jìn)入代理設(shè)置,入口如下圖所示
點擊后進(jìn)入如下所示界面
記住此處的port,默認(rèn)為8888,也可以進(jìn)行修改,只要不沖突就可以,勾選上Enable transparent HTTP proxying,到此為止完成charles上的初步設(shè)置。
到此為止,完成了MAC上的charles設(shè)置
手機(jī)端設(shè)置
第二步,設(shè)置手機(jī)代理,注意要保證手機(jī)所連接的wifi跟電腦在一個局域網(wǎng)內(nèi)(就是連接同一個wifi就好了)
首先,需要知道電腦的ip地址,我的電腦上通過系統(tǒng)偏好設(shè)置->網(wǎng)絡(luò)可以查看
注意此處電腦連接的是PHICOMM_air的wifi
手機(jī)上進(jìn)入wifi設(shè)置,一般按住你正在連接的wifi一會會彈出一個菜單,點擊修改網(wǎng)絡(luò)就到如下界面,勾選“顯示高級選項”,點擊代理
注意此處手機(jī)連接的也是PHCOMM_air的wifi
點擊代理后進(jìn)入如下界面,服務(wù)器主機(jī)名處填寫剛才查到的電腦的ip地址即可,服務(wù)器端口填寫第一步中charles處設(shè)置的端口,默認(rèn)是8888,如果做了修改,填寫設(shè)置charles時修改的端口值。
點擊保存,此時charles上會彈出一個對話框,點擊allow即可。此時就可以抓取手機(jī)上的http數(shù)據(jù)包了(注意現(xiàn)在抓取的還不是https數(shù)據(jù)包)
如下圖所示,點入一個應(yīng)用后,抓取到的http包
到此為止,MAC上利用charles抓取手機(jī)HTTP數(shù)據(jù)包就完成了,可以通過MAC抓取手機(jī)的HTTP數(shù)據(jù)包了
完成以上步驟,charles會同時抓取手機(jī)以及電腦上的數(shù)據(jù)包,如果針對手機(jī)抓包可以通過取消勾選下圖所示的選項屏蔽掉
手機(jī)連接不上charles的幾種原因及解決方案:
1.確認(rèn)手機(jī)跟電腦是不是在一個wifi環(huán)境下,我在使用過程中又一次手機(jī)由于wifi信號強(qiáng)弱問題自動切換過wifi導(dǎo)致抓了一般的數(shù)據(jù)包抓不到了
2.可以嘗試更換一下端口號(8888可能已經(jīng)被占用)
3.可以通過電腦手動添加手機(jī)的ip
4.試試關(guān)掉電腦防火墻,在重新連接
5.重新打開charles,重新設(shè)置手機(jī)連接
手機(jī)端HTTPS數(shù)據(jù)包抓取
以上設(shè)置只能抓取HTTP數(shù)據(jù)包對于HTTPS數(shù)據(jù)抓包工具上的列表部分會顯示一堆unknown的地址
那么對于手機(jī)端HTTPS數(shù)據(jù)包的抓取又該如何設(shè)置呢請往下看
首先是MAC的配置,進(jìn)入charles的Help->SSL Proxying->Install Charles Root Certificate
點擊Install Charles Root Certificate之后,會彈出mac的鑰匙串訪問頁面
(正常第一次進(jìn)去這個證書應(yīng)該是一個紅叉,我這里由于已經(jīng)進(jìn)行過設(shè)置所以顯示正常)
右鍵點擊該證書,選擇菜單中的“顯示簡介選項”,接著進(jìn)入信任欄目,將其全部置為“始終信任”
完成這一步的設(shè)置后,這個根證書應(yīng)該會跟我上面一個截圖一樣,而不會顯示紅叉
接著點擊Proxy->SSL Proxy Settings,彈出如下頁面
彈出的對話框中,勾選Enable SSL Proxying,然后點擊add添加Host為*和Port為443,點擊ok(此處將host設(shè)置為*的意思是主抓取全部的http是數(shù)據(jù)包,如果想針對某個域名抓取可以在此設(shè)置)
到此為止,完成了MAC的設(shè)置
手機(jī)端設(shè)置(重要)
接著需要在手機(jī)端安裝證書,點擊Charles上的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
點擊之后彈出如下對話框:
接著在手機(jī)瀏覽器上訪問charlesproxy.com/getssl這個地址(此處請注意,最好不要用自帶的瀏覽器),我的手機(jī)讓我輸入鎖屏密碼,輸入之后,會彈出如下界面:
輸入一個名字比如charlesproxy之后點擊確定,會有一個一閃而過的提示,就ok了
此時進(jìn)入小程序,可以看到charles上能夠看到https的接口的地址和數(shù)據(jù)了
注意,有一些應(yīng)用使用的網(wǎng)絡(luò)框架是不允許通過代理訪問的,此時通過charles抓包顯示的地址仍是unknown,或者手機(jī)上訪問該應(yīng)用會提示網(wǎng)絡(luò)連接錯誤等信息,此時在MAC上取消勾選charles的SSL Proxying settings中的勾選框就可以正常訪問了
最后,抓取工作完成后,記得把手機(jī)上的代理設(shè)置恢復(fù)原樣,否則當(dāng)電腦上的charles關(guān)閉時,手機(jī)將無法正常訪問網(wǎng)絡(luò)
好了MAC上利用charles抓取微信小程序數(shù)據(jù)包,手機(jī)APP數(shù)據(jù)包已經(jīng)能成功抓取了。下次我們將為大家分享
如何在windows系統(tǒng)上利用charles抓取微信小程序數(shù)據(jù)包和使用fiddler抓包工具抓取微信小程序數(shù)據(jù)包,手機(jī)APP數(shù)據(jù)包的操作方法
相關(guān)文章
給blog添加效果(計數(shù)器、天氣預(yù)報、精美flash時鐘、跟隨鼠標(biāo)的螢火蟲、跟隨鼠標(biāo)的文字、狀態(tài)欄文本、副標(biāo)
給blog添加效果(計數(shù)器、天氣預(yù)報、精美flash時鐘、跟隨鼠標(biāo)的螢火蟲、跟隨鼠標(biāo)的文字、狀態(tài)欄文本、副標(biāo)...2007-02-02解決realplayer11中文正式版網(wǎng)頁右鍵亂碼問題embed_cn.dll
解決realplayer11中文正式版網(wǎng)頁右鍵亂碼問題embed_cn.dll...2007-11-11最小存貨單位(Stock Keeping Unit, SKU)解析
最小存貨單位(Stock Keeping Unit, SKU)解析...2007-08-08- 錯誤提示大概如下: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommended that you exit and restart MyEclipse with new virtual machine memory paramters to increase this memory. Failure to do so can result in data loss. The recommended Eclipse memory parameters are: eclipse.exe -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M2008-03-03