您好,登錄后才能下訂單哦!
Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網絡封包的截取和分析。
Charles 是收費軟件,可以免費試用 30 天。試用期過后,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,并且啟動時將會有 10 秒種的延時。不過,也可以網上找到破解版,將lib原文件中的charles.jar替換就可以隨意使用啦~
Charles 主要的功能包括:
支持 SSL 代理。可以截取分析 SSL 的請求。
支持流量控制。可以模擬慢速網絡以及等待時間(latency)較長的請求。
支持 AJAX 調試。可以自動將 json 或 xml 數據格式化,方便查看。
支持 AMF 調試。可以將 Flash Remoting 或 Flex Remoting 信息格式化,方便查看。
支持重發網絡請求,方便后端調試。
支持修改網絡請求參數。
支持網絡請求的截獲并動態修改。
檢查 HTML,CSS 和 RSS 內容是否符合 W3C 標準。
Charles下載:官網https://www.charlesproxy.com/,目前最新版是4.1.2,分win、mac以及Linux,親們可以按需下載。下面以winows64位版本為例:
下載后的鏡像文件:
Charles安裝:
雙擊msi文件,傻瓜式點擊下一步即可
安裝完成后,就可以去你安裝路徑中找charles.exe試用啦~~~如果想要破解的朋友,可以在http://pan.baidu.com/s/1eSEInya 密碼:k843下載Charles.jar,順便說一句,這個ja包也是要配套charles版本使用的,這里使用的是4.1版。這個文件中有mac、win32/64的版本,按需使用哦~替換Charles根目錄下lib中的同名文件,這樣打開Charles就不用等10秒啦~
以上只是安裝好Charles,如果這個時候打開使用,抓取的包一部分是unknow狀態。
Charles配置:
1、將charles設置成系統代理:Proxy->Windows Proxy
需要注意的是,Chrome 和 Firefox 瀏覽器默認并不使用系統的代理服務器設置,而 Charles 是通過將自己設置成代理服務器來完成封包截取的,所以在默認情況下無法截取 Chrome 和 Firefox 瀏覽器的網絡通訊內容。如果你需要截取的話,在 Chrome 中設置成使用系統的代理服務器設置即可,或者直接將代理服務器設置成 127.0.0.1:8888 也可達到相同效果。
charles主界面:
圖中,structure和sequence是兩種視圖模式:
structure視圖將網絡請求按訪問的域名分類;sequence視圖將網絡請求按訪問的時間排序;
Filter處可以設置過濾關鍵詞,如輸入想要過濾的域名,主界面就只顯示該域名相關的包;
Request顯示請求內容;
Response顯示響應內容。
截取移動設備包括APP、微信公眾號等的網絡封包(以iPhone為例):
Charles上設置:要截取 iPhone 上的網絡請求,首先將 Charles 的代理功能打開。在 Charles 的菜單欄上選擇 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的設置。
iPhone上設置:“ 設置 ”–>“ 無線局域網 ” 中,可以看到當前連接的 wifi 名,通過點擊右邊的詳情鍵,可以看到當前連接上的 wifi 的詳細信息,包括 IP 地址,子網掩碼等信息。在其最底部有“HTTP 代理”一項,我們將其切換成手動,然后在服務器一欄填上 Charles 運行所在的電腦的 IP,以及端口號 8888,如下圖:
設置好之后,打開 iPhone 上的任意需要網絡通訊的程序,就可以看到 Charles 彈出 iPhone 請求連接的確認菜單,點擊 “Allow” 即可完成設置。
如果你需要截取分析 SSL 協議相關的內容。那么需要安裝 Charles 的 CA 證書。
首先需要在電腦上安裝證書。點擊 Charles 的頂部菜單,選擇 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”如下圖:
彈出安裝證書窗口:
至此Charles上設置完成。
如果手機上也需要抓取https的包,那么也需要下載ca證書:
點擊 Charles 的頂部菜單,選擇 “Help” –> “SSL Proxying” –>“Install Charles Root Certificate on Mobile Device and Remote Browser”,會彈出下圖:
在safari中輸入“chls.pro/ssl”,搜索出CA證書,彈出如下圖:
點安裝(這里LZ已經安裝過了)后,還需在手機“設置”->“關于本機”->“證書信任設置”中信任該證書:
其次,在手機瀏覽器中輸入http://charlesproxy.com/getssl ,即可打開證書安裝的界面,安裝完證書后,就可以截取手機上的 Https 通訊內容了。也就是上圖中的第一個證書。
然而,Charles 默認并不截取 SSL 的信息,如果你想對截取某個網站上的所有 SSL 網絡請求,處理方法有兩種:
1、在該請求上右擊,選擇Enable SSL proxy:
2、選擇charles頂部菜單“Proxy”->“SSL Proxying Settings”:
點擊“Add”添加host和port:
host:* 表示可以取任何值
port:443
至此截取web以及手機端網絡封包的設置基本完成。
注意:如果遇到截包返回亂碼、截包“unknow”狀態,可能是證書沒有安裝好,或者SSL沒有授權
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。