當下很多網站都有做自己的APP端產品,一個優秀的爬蟲工程師,必須能夠繞過難爬取點而取捷徑,這是皆大歡喜的。但是在網上收羅和查閱了無數文檔和資料,本人親測無數次,均不能正常獲取HTTPS數據,究其原因是手機端證書安裝不正確所致,故編寫文章以幫助后來的小伙伴。
當下抓包工具有Fiddler,Charles,wireshark等,手機APP最常用的是Fiddler和Charles,而wireshark適合作為測試用,下面我着重介紹Charles抓包工具的使用。
Charles是抓包工具中的神器,開發者可以使用它方便的抓取http請求,https請求,並支持修改、重放等功能。對於PC端和移動端都非常方便。
1、安裝Charles:
隨便在網上都可以下載到,這里不做介紹
2、安裝好Charles之后,需要進行簡單的 配置:
注意:要確保手機和Charles在同一個WIFI環境中
使用ipconfig 查看電腦連接wifi所用的ip:
打開Charles,點擊左上角Proxy->Proxy Settings,選中Enabel transparent HTTPproxying。點擊ok。Port一般都是8888,這個要和下一步手機中的端口相同
3、配置好Charles后需要進行手機端的配置。
打開手機,設置->WIFI-->常按你手機連接的WIFI-->點擊修改網絡-->顯示高級選擇-->選擇代理為手動-->主機名填你剛才ipconfig查詢到的IP地址,端口號填8888,點擊保存。ok,手機端設置好
4、重啟Fiddler,此時可以抓取到http的包,如果您只需要抓取http數據,此時已經實現,如果您需要獲取https包,請繼續往下看
HTTPS請求的獲取,需要進行對手機安裝證書
1. 如下圖,選擇在移動設備上安裝 Charles 根證書:
下載即可
然后點擊SSL_Proxying下的第二個install,如下圖:
2. 然后打開手機的瀏覽器,輸入 browse to 后面的地址進行下載,安裝即可
正常情況下此時可以正常抓取https數據包,如果此時不能正常抓取https包,不要着急,這里有絕招:在這里不能正常抓取的原因是你的手機上沒有正常安裝證書,這里我們使用模擬安卓的模擬器進行替代手機進行抓包,我使用的“天天模擬器”,在網上下載天天模擬器,並進行安裝,安裝后,配置步驟同手機一樣。配置完成並成功安裝證書后就可以完美的享受i的https抓包過程了。如您遇到其他問題或者不能正常抓包,歡迎您留言。
Fiddler抓包工具教程參考文檔:
https://kb.cnblogs.com/page/130367/
http://www.jianshu.com/p/9e05a2522758
http://www.cnblogs.com/zhaoyanjun/p/7068905.html