Charles 是 Mac 下經常使用的抓包工具,它經過將本身設置成系統的代理服務器,從而完成了抓包的工做。html
同類的工具還有 fiddler 和 Wireshark,其中 fiddler 是微軟公司使用 .NET 開發的工具,適用於 Windows 操做系統,雖然經過 mono 框架使其能夠在 Mac 上安裝,但相似於網頁經過 Cordova 生成混合應用,混合應用的性能和原生應用相差很大,fiddler 的 Mac 版本存在更新慢,卡頓等問題。Wireshark 能夠在 Windows 和 Mac 上運行,不足的一點是不能對特定的請求進行修改,fiddler 的 fiddler script,Charles 的 rewrite 能夠實現這個功能。正則表達式
一、在 Charles 的 Settings -> Proxy Settings -> Mac OS X 下,進行以下配置瀏覽器
二、在 系統偏好設置 -> 網絡 -> 高級 -> 代理 下,進行以下配置服務器
此時 Charles 被配置爲系統的代理服務器。網絡
ps:在調試網頁時,Chrome 默認使用系統代理服務器,若是須要在瀏覽網頁時使用其餘的代理服務器,能夠在火狐瀏覽器的 首選項 -> 高級 -> 網絡 -> 鏈接設置 上手動配置代理或選擇 pac 文件。框架
在 Charles 的 Tools -> Rewrite 下,可配置修改特定請求的規則,以下圖:工具
Name:規則名稱性能
Locations:可添加多個遠程服務器的信息,包括協議,域名,端口號等信息。操作系統
Rules:設置修改的規則,可以使用正則表達式進行修改,以下圖:代理
Charles 功能介紹 By 唐巧