手把手教你進行Python網(wǎng)絡爬蟲中的Charles+Postern抓包
回復“書籍”即可獲贈Python從入門到進階共10本電子書
大家好,我是碼農(nóng)星期八,人稱法外狂徒張三。
為什么要說使用Charles+Postern
在實際抓手機App包場景中,有很多種方案,經(jīng)典的就是Fiddler,但是Fiddler會有一個問題,如果App設置了不走代理這個選項,那Fiddler就不行了。
為什么Charles+Postern可以呢?
是因為Charles就沒有直接監(jiān)聽到App,Charles是監(jiān)聽到了Postern上,Postern就是一個vpn,所以App設置不走代理也沒用,Postern照樣能監(jiān)聽到,然后Postern再轉(zhuǎn)發(fā)到Charles上,這樣就完成了抓包。
但是雙向驗證除外,雙向驗證Charles需要添加證書,后面再說。
當然,還有更好的方案,r0capture hook抓包了解一下?
我的環(huán)境
pixel 2 Android 8版本(已root)
Magisk 23.0版本
Xposed 3.1.5版本
Charles配置
Charles環(huán)境要求
JDK 啟用超級管理員 關閉防火墻
下載
Charles下載地址:
https://www.charlesproxy.com/download/

安裝
下一步->下一步即可
安裝成功打開

激活
注冊碼生成地址:
https://www.zzzmode.com/mytools/charles/

激活Charles
在Help->Registered輸入key和生成的激活碼即可

設置代理
點擊Porxy Settings
注意:此時我的Windows Proxy是去掉對勾的,表示不抓PC端。

設置監(jiān)聽端口

配置SSL代理
點擊SSL Proxying Settings

添加代理,*.*即可

到現(xiàn)在為止,Clarles就設置完畢。
Postern
Postern簡介
Postern并不是抓包工具,它是一個代理工具。
它可以將http請求轉(zhuǎn)為socket,并且包轉(zhuǎn)發(fā)到Charles上,這樣就可以抓到更多的包。

配置代理規(guī)則

添加代理服務器


留下一個選項就行,其它的刪掉即可
配置規(guī)則

添加規(guī)則


打開/關閉Postern

如果Charles有提示出東西,一定要點擊Allow

然后就可以愉快的抓包了

但是此時只能抓http的包,要想抓hppts的包,還需要設置證書才行。
配置證書
保存證書到指定位置
點擊Save Charles Root Certi...

選擇一個路徑保存

證書推送到手機上
將保存的證書推送到手機上
adb push C:\Users\Ti\Downloads\1.pem /sdcard/1.pem

成功推送到手機上

手機端安裝證書
點擊從存儲設備安裝證書

點擊證書,安裝

證書名字隨便寫

安裝好之后是可以在信任的憑據(jù)中看到的

查看用戶證書

證書存放目錄
系統(tǒng)證書路徑 /etc/security/cacerts
用戶證書路徑 /data/misc/user/0/cacerts-added
雖然此時證書已經(jīng)安裝完成,但是可能對APP抓https還是失敗的。
因為Android7以后,只信任系統(tǒng)證書,所以還需要將用戶證書移動成系統(tǒng)證書。
移動證書
這里使用Magisk的Move Certificates模塊來安裝證書
直接安裝即可

然后重啟手機,你就會發(fā)現(xiàn)證書移動成功
現(xiàn)在,到現(xiàn)在就配置成功了,打開Postern,就可以開心的抓https啦!

Charles和Fiddler的比較
Fiddler雖然也可以完成對手機的抓包,但是如果App設置了不走代理,那Fiddler就失敗了。
并且Fiddler需要修改手動wifi的代理,但是Charles就不需要,只需要配置好Postern和Charles的連接就好,并且可以對絕大部分的App進行抓包,不使用代理時,直接關閉Postern即可!
總結(jié)
目前來說,F(xiàn)iddler和Charles都是很流行的,但是相對來說,還是Charles+Postern適用范圍更廣一些,并且數(shù)據(jù)更好看一點!
最后需要Charles和Postern安裝包的小伙伴,可以在公眾號后臺回復關鍵字“Charles安裝包”進行獲取。
仁者見智唄!如果在操作過程中有任何問題,記得下面留言,我們看到會第一時間解決問題。
越努力,越幸運。我是碼農(nóng)星期八,如果覺得還不錯,記得動手點贊一下哈,感謝你的觀看。

小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。
------------------- End -------------------
往期精彩文章推薦:
補充篇:盤點6種使用Python批量合并同一文件夾內(nèi)所有子文件夾下的Excel文件內(nèi)所有Sheet數(shù)據(jù)
盤點4種使用Python批量合并同一文件夾內(nèi)所有子文件夾下的Excel文件內(nèi)所有Sheet數(shù)據(jù)

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學習群請在后臺回復【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
