Charles 抓包工具安裝和採坑記錄

 

網絡抓包是解決網絡問題的第一步,也是網絡分析的基礎。網絡出現問題,第一步肯定是通過抓包工具進行路徑分析,看哪一步出現異常。做網絡爬蟲,第一步就是通過抓包工具對目標網站進行分析,應對各種反爬策略。不會使用抓包工具的網絡分析員等於是黑夜裏找針,就算找到了,也是憑運氣。網絡抓包工具比較主流的有 Fiddler,Charles,WireShark,MITMProxy 等等。

Fiddler 主要用於 Windows 平臺,配置簡單,主要用於 HTTP 和 HTTPS 的分析。如果電腦主要用 Win 系統,只需要簡單的分析 HTTP 請求,Fiddler 是首選。不過 Fiddler 在 Win7 平臺上根證書安裝總出現問題。

Charles 主要用於 Mac,現在也有 windows 版本了,界面雅觀漂亮。由於 Fiddler 一直安裝有問題,現在我主要用 Charles。Charles 是收費軟件。

WireShark 操作起來比較複雜,但是功能強大很多。

MITMProxy 主要用於 linux 平臺,圖形界面和命令行都有。

本文主要介紹 charles 的安裝和遇到的坑。

 

安裝根證書

安裝好軟件以後,先需要下載根證書。根證書主要用於 HTTPS 請求分析,如果沒有這個需求,可以不用安裝,不過現在絕大多數的網站都啓用了 HTTPS,可以說是必須要裝了。

點擊 help › ssl proxy › install certificate;

軟件端的證書先稱爲服務端證書吧,對應的是客戶端證書。

客戶端安裝證書

客戶端證書主要是瀏覽器,手機等使用網絡的設備,抓包就是抓這些設備的包。

先設置客戶端代理,打開手機的 Wifi 設置,在手工代理裏輸入服務端的 IP 和 代理端口,比如 charles 安裝在 IP 爲 192.168.1.125 的電腦上,代理端口可以在軟件綵帶的 Proxy - Prxoy Setting 裏設置,默認爲 8888。

配置好代理以後,瀏覽器輸入 chls.pro/ssl 下載和安裝客戶端證書。輸入的時候 charles 軟件必須打開,部分安卓機器的瀏覽器無法讀取證書內容,會安裝不上,可以換用 UC 等其他瀏覽器嘗試。

下載以後進入手機的證書安裝去安裝證書,每個手機的路徑不一樣,需要自己找。

在 iPhone 下,需要進入設置 - 通用 - 關於本機 - 證書信任設置 - 啓用完全信任。這一步非常重要,如果沒有配置,很有可能導致無法抓包。

部分安卓機(小米)在配置完以後可能仍然會出現無法信任根證書的問題,這可能是手機廠商做的限制,現在還沒有找到原因。

SSL 設置

charles 有一個白名單的機制,需要將目標網站的 Host 添加到白名單中才能抓取到 HTTPS,否則會報 Unknow Host 錯誤,如果看到這個錯誤,去 Proxy - SSL Proxy Setting 配置就可以了。比如配置所有 Host 的 443 端口:*:443

使用

配置完成以後,只需要在手機上使用瀏覽器或者 APP,瀏覽的網頁對應的 URL 就會顯示在 charles 的面板上了。可以用來分析請求,修改請求和響應,重複訪問,壓力測試等。

總結

使用 charles 最好是使用 iPhone 抓包,配置尤其要注意啓用證書完全信任,否則 HTTPS 會抓不到包。安卓機系統小米無法使用,不知道其他人和其他系統如何。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章