1. 程式人生 > >Charles小試牛刀(Windows)

Charles小試牛刀(Windows)

charles 抓包

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沒有授權

Charles小試牛刀(Windows)