使用查爾斯(Using Charies)
會話、記錄、請求和響應、重點、圖表、進口、出口、SSL證書、負載測試、網頁界面、協議緩沖區、命令行選項
會話(Sessions)
您的會話包含您記錄的所有信息。它由會話窗口表示;默認情況下,當您啟動 Charles 時會自動創建一個新會話(Untitled Session 1)。
當您使用 Charles 時,您可能只需要一個會話。直到您覺得需要使用多個會話:不要打擾。當您的會話已滿(或太忙)時,您可以清除它(使用文件菜單中的清除會話選項或工具欄上的垃圾桶圖標)。
可以保存和重新打開會話,這對於與同事交流很有用。
記錄(Recording)
記錄是查爾斯的主要功能。請求和響應會記錄到當前會話中,供您以后檢查和分析。
記錄的請求取決於 Charles 的配置。通常,這包括來自瀏覽器的所有 HTTP 和 HTTPS 流量,以及計算機上可能的其他應用程序(如果您的操作系統代理設置也已更改)。然而,它也可能包括來自通用套接字連接的數據,例如通過 SOCKS 代理或端口轉發。
如果記錄關閉,Charles 會照常處理所有請求,但它們不會記錄在會話中供您查看
請求和響應(Requests & Responses)
請求及其響應是 Charles 中記錄的基本元素。
HTTP/HTTPS 由請求-響應成對組成:從您的計算機到服務器的請求和來自服務器的響應。
對於通用套接字,請求-響應包含入站和出站的全部內容。這對套接字並不總是那么有用,將來可能會改進。如果您需要進行大量套接字級別的調試,您可能需要考慮使用 Ethereal(計算機網絡調試和數據包嗅探軟件)。
查看請求(Viewing Requests)
請求被記錄時會出現在會話窗口中。查看會話窗口有兩種不同的方式:結構視圖和序列視圖。
結構視圖讓您可以在按主機名和主機內文件夾/目錄組織的樹中查看請求。序列視圖讓您可以按請求發生的順序查看請求。
當您單擊請求時,請求查看器會加載到會話窗口中以顯示詳細信息。
您始終可以以純文本或二進制(十六進制和 ascii)形式查看 HTTP 請求和響應標頭以及請求和響應正文。還有用於增強顯示的標題和正文的特殊查看器:
標題查看器(Header Viewers)
- 查詢參數(Query parameters)
- 表格參數(Form parameters)
- Cookies
- 驗證(Authentication)
- JSON 標頭(JSON headers)
正文內容查看器(Body Content Viewers)
- XML 作為樹或格式化文本
- AMF(Actionscript 消息格式 – Flash 和 Flex 遠程處理)
- 表單參數(Form parameters)(包括多部分表單)
- JSON
- 壓縮數據(Compressed data )—用於查看原始壓縮體
保存請求和響應(Saving Requests & Responses)
在導航器視圖中右鍵單擊請求以獲取其他選項。您可以復制或保存請求和響應正文。如果您選擇多個請求,您可以一次保存它們。
Focus
經常有來自許多不同主機的大量請求和響應使 Charles 會話變得混亂。使用 Focus 功能,您可以將您關心的主機與您不關心的主機分開。
要為主機激活 Focus,請右鍵單擊 Structure 樹中的主機名,然后從菜單中選擇 Focus 項。結構樹現在將在頂部顯示您新聚焦的主機,然后是一個名為Other Hosts的文件夾 ,您可以將其展開以查看其他所有內容。
在 Sequence 視圖中,您可以勾選 Focused 復選框以僅顯示序列中的重點主機。
要查看所有重點主機並對其進行編輯,請轉到“查看”菜單中的“重點主機...”項目。
圖表(Chart)
請求的圖表選項卡在時間線圖表上顯示請求和任何相關請求。時間線圖表顯示請求何時開始、響應(下載)何時開始以及何時結束。此外,如果有相關的請求,那么您可以看到它們彼此之間的關系。
如果您查看 HTML 頁面,則會出現相關請求;相關請求將是頁面加載的圖像、Javascript、CSS 和其他文件。
該圖表可用於可視化資源之間的並行下載、阻塞和依賴關系。
圖表上的每個條形分為三個部分:
- 請求 - 發送(上傳)請求所花費的時間(深藍色)
- 延遲 - 在服務器上等待網絡延遲或處理時間所花費的時間(中藍色)
- 響應 - 接收(下載)響應所花費的時間(淺藍色)
導出(Export)
您可以通過從文件菜單中選擇導出來從 Charles 中的會話導出數據。
Charles 支持多種不同的導出格式:
- CSV
- 跟蹤文本文件(Trace text file)
- XML
Trace 和 XML 格式也可用於導入。
CSV 格式
CSV 導出不包含所有會話信息,因此無法導入 CSV。CSV 導出包含有關請求和響應的時間和大小的摘要數據
跟蹤文件格式(Trace text file)
這是特定於 Charles 的純文本文件格式。它的優點是讀寫簡單。它特別設計用於輕松轉儲請求,因為它具有非常簡單的語法。
XML 文件格式
XML 文件格式專為與 3rd 軟件交換會話記錄而設計。XML 文件格式的 DTD 可用:http://www.charlesproxy.com/dtd/charles-session-1_0.dtd
SSL證書
Charles 為站點生成自己的證書,它使用 Charles Root Certificate 簽名,該證書是為您的 Charles 安裝唯一生成的(從 v3.10 開始)。當您的瀏覽器或其他應用程序收到該證書時,您將在瀏覽器或其他應用程序中看到警告,因為 Charles 根證書不在您的受信任根證書列表中。
您可以選擇在遇到每個站點的證書時永久信任它,在這種情況下,您不需要信任 Charles Root 證書。如果您想自動信任 Charles 頒發的每個證書,請繼續執行這些說明。
以下說明適用於不同的瀏覽器和應用程序,可幫助您信任您的 Charles Root 證書,這樣您就不會再看到證書警告。
請注意,Charles 根證書方法隨 Charles 3.10 版本而改變,因此如果您已經對舊版本的 Charles 執行了此過程,則需要再次執行此過程。
Windows / Internet Explorer
在 Charles 中,轉到“幫助”菜單並選擇“SSL 代理 > 安裝 Charles 根證書”。將出現一個窗口,警告您 CA 根證書不受信任。
單擊“安裝證書”按鈕啟動證書導入向導。證書必須導入“受信任的根證書頒發機構”證書庫,因此覆蓋自動證書庫選擇。
完成向導,您的 Charles 根證書現已安裝。在安裝生效之前,您可能需要重新啟動 IE。
火狐瀏覽器
首先確保 Firefox 已連接到 Charles。您應該會在 Charles 中看到從 Firefox 瀏覽的記錄。
在 Firefox 中訪問https://chls.pro/ssl。您將看到一個證書導入對話框。勾選“信任此 CA 以識別網站”選項並完成導入。
蘋果系統
在 Charles 中,轉到“幫助”菜單並選擇“SSL 代理 > 安裝 Charles 根證書”。鑰匙串訪問將打開。找到“Charles Proxy...”條目,然后雙擊以獲取有關它的信息。展開“信任”部分,將“使用此證書時”旁邊的“使用系統默認值”更改為“始終信任”。然后關閉證書信息窗口,系統將提示您輸入管理員密碼以更新系統信任設置。
您可能需要退出並重新打開 Safari 才能看到更改。
iOS 設備
- 在設置應用程序 > Wifi 設置中將您的 iOS 設備設置為使用 Charles 作為其 HTTP 代理。
- 打開 Safari 並瀏覽到https://chls.pro/ssl。Safari 會提示您安裝 SSL 證書。
- 如果您使用的是 iOS 10.3 或更高版本,請打開 Settings.app 並導航到 General > About > Certificate Trust Settings,然后找到 Charles Proxy 證書,然后將其打開以啟用對其的完全信任(有關 iOS 中此更改的更多信息10)。
- 現在,您應該可以使用 SSL 代理與 Charles 訪問 SSL 網站了。
從 3.11.4 版本開始,Charles 支持應用傳輸安全 (ATS)。
安卓
從 Android N 開始,您需要向您的應用添加配置,以使其信任由 Charles SSL 代理生成的 SSL 證書。這意味着您只能對您控制的應用程序使用 SSL 代理。
為了將您的應用程序配置為信任 Charles,您需要 向您的應用程序添加網絡安全配置文件。該文件可以覆蓋系統默認值,使您的應用能夠信任用戶安裝的 CA 證書(例如 Charles Root 證書)。您可以指定這僅適用於應用程序的調試版本,以便生產版本使用默認信任配置文件。
將文件 res/xml/network_security_config.xml 添加到您的應用程序:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- 信任用戶添加的 CA,而僅可調試 -->
<certificates src="user" />
</trust-anchors>
</debug-覆蓋>
</network-security-config>
然后在您的應用清單中添加對此文件的引用,如下所示:
<? xml version = "1.0" encoding = "utf-8" ?> <manifest ... > <application android:networkSecurityConfig = "@xml/network_security_config" ... > ... </application> </manifest>
谷歌瀏覽器
在 macOS 上,請按照上述 macOS 的說明進行操作。這些說明僅適用於 Windows。
在 Charles 中,轉到“幫助”菜單並選擇“SSL 代理 > 保存 Charles 根證書”。將根證書作為二進制證書 (.cer) 保存到您的桌面或下一步中您可以輕松訪問的位置。
在 Chrome 中,打開設置。在設置頁面底部,單擊“高級”打開高級部分,然后單擊“管理證書...”按鈕。
轉到“受信任的根證書頒發機構”選項卡,然后單擊“導入...”。
找到您在上一步中從 Charles 保存的證書文件,然后單擊 Next 和 Finish,保留默認選項,直到您完成導入。Chrome 現在將始終信任 Charles 簽署的證書。
導入后,您可以刪除保存的證書文件。