如何對使用了ssl pinning的APP(如知乎)進行抓包?

似乎知乎APP檢測到使用代理就會斷開連接,想知道這種情況下該如何對HTTPS請求進行抓包


這個問題困擾了我一周了,癥狀表現就是:ios 的app 只要打開Fiddler 代理抓包,app 就沒法聯網,點擊載入按鈕,fiddler的抓包記錄照樣是https加密的,你同樣沒法看到。剛開始一直以為是證書的問題,用了certmaker,換了charles,問題依然存在。今天有點進展了,抓不到包是因為app使用了SSL Pinning。

解決方案:

1.iPhone :越獄之後安裝nabla-c0d3/ssl-kill-switch2 之後可以愉快抓包。安裝方法如下:

iOS安裝SSL Kill Switch2

2.安卓: 手頭沒有安卓機,沒法測試。解決方案如下:安裝xposed框架、安裝並啟用justtrustme模塊 https://www.waitalone.cn/bypass-ssl-pinning.html 自行測試!

---------------------------------分割線

2017年12月3號更新

3.在自己的機器上安裝了夜神模擬器,然後安裝夜神的xposed框架,下載justtrustme框架,可以正常安裝,正常抓到包!(夜神模擬器貌似遠程桌面啟動有bug。。。)


提問者的意思是說,要對HTTPS解密,但是app採用pinning驗證證書或公鑰,就導致無法用fiddler或charles或sslplit等中間人劫持工具(偽造網站證書)的方法做中間人劫持了。我覺得除非能拿到網站的私鑰,否則沒法做中間人劫持、沒法解密吧?


二次代理法
在路由器上設置代理即可


幾種辦法
1、拆apk或者iap包,把key手動替換掉,再簽名封包。
2、越獄或者root的手機,有Cydia插件或者Xposed插件解決ssl pining。
3、嘗試用Fiddler抓包,上次我用Charles半天不行,換成Fiddler然後再設置里勾上忽略安全竟然就可以抓了。


win 10 開熱點 wireshark 抓虛擬網卡的包 完成

當然沒有無線網卡不行


有幾個方法,你看哪種對你來說操作方便
一,電腦上裝個安卓模擬器,用模擬器打開知乎APP。
二,手機以電腦為熱點,手機使用APP
三,路由器上有是否有抓包功能選項
四,有交換機么,做一個埠鏡像
以上都要借用抓包工具如wireshark.sniffer等等。


推薦閱讀:

scrapy 抓取的中文結果亂碼,請問如何解決?
數據抓取,網站怎麼找到加密轉換的那段js函數?
菜鳥學習網路爬蟲的最佳路線是什麼?
爬蟲相關的技能適合放進簡歷裡面嗎?

TAG:知乎 | 爬蟲計算機網路 | Android | 抓包 |