Photo on charlesproxy.com
上個禮拜分享了 Charles 選項欄中的 Tools 功能
但是因為內容過多 小弟把它拆成兩個部分
而這個禮拜將會延續上禮拜的內容 將剩餘的後半段方想完畢
如果還沒看過前半段 Tools 功能介紹的大哥大姐可以再看一下
封包測試工具 - Charles (二)
DNS Spoofing Settings (設定 DNS 欺騙)
如果需要測試域名 但是所使用的是虛擬主機
為了想要將 IP 位址更改為指定的 DNS 來進行測試
此時就可以透過 DNS Spoofing 來達成
將自己的主機名指定給遠程地址映射來欺騙 DNS 查找
當請求通過 Charles 時 將由 DNS 映射為優先
可以透過 Import/Export 來匯入或匯出設定內容
"Enable DNS Spoofing":透過 Add 來進一步設定欺騙 DNS 的內容
當針對列出的域名發出請求時
Spoof DNS 插件會發現欺騙 IP 將請求重定向到該地址
e.g. 想要把 www.demo.com 轉到 test.com 上
Host Name:來源處(www.demo.com)
Address:目的地(test.com)
Mirror Settings (設定鏡像)
Mirror 會在瀏覽時將接收到的回傳內容複製一份 並保存在指定的路徑下
可以透過 Import/Export 來匯入或匯出設定內容
"Enable Mirror":啟用鏡像所有或指定回傳
"Only for selected locations":透過 Add 來進一步設定指定站點
"Save to":指定的存放的路徑
每個站點匹配包含 Protocol, Host, Port, Path 與 Query
- 如果收到相同 URL 的兩個響應,則前面的同名文件將被覆蓋,確保響應內容將始終是最新的。
- 啟用 Mirror 後,任何壓縮或編碼的響應將被解壓縮或解碼。
- Mirror 不受上一篇提到的 Recording Settings 的記錄限制設定影響,當保存響應有限,將會丟失一些內容。
Auto Save Settings (設定自動保存)
如果想讓 Charles 長時間監控網絡活動
並且希望將記錄分解為可管理的單元
或者避免因數據量過大而可能出現的內存不足的情況
這個時候 Auto Save 將非常有用
Auto Save 會按設定的時間間隔自動保存和清除記錄會話
可以透過 Import/Export 來匯入或匯出設定內容
"Enable Auto Save":啟動自動保存
"Save interval":自動保存的時間間隔(分鐘)
"Save to":指定的存放的路徑
"Enable on startup":啟動 Charles 時保存
"Start on a multiple of the Save interval":從保存間隔的倍數開始
e.g. 保存時間間隔設定為15分鐘
啟動該功能為10:10,則第一次保存時間將為10:15
爾後則為每15分鐘保存一次
"Save type":透過下拉式選單選擇保存格式
Client Process Settings (設定客戶端進程)
如果想要查看不確定的原始進程請求
則可以透過啟用 Client Process 來達成
Charles 將會顯示發出請求的本地客戶端進程的名稱
可以透過每個請求內的 Notes 區塊中來查看
可以透過 Import/Export 來匯入或匯出設定內容
"Enable Client Process":啟動 Client 端進程
"Only for selected locations":透過 Add 來進一步設定指定站點
每個站點匹配包含 Protocol, Host, Port, Path 與 Query
Compose (修改請求)
Compose 可以在原有的請求基礎上進行修改
包括了 URL, Method, Protocol version
該請求發送後,可以對該請求再次修改
Compose New Request (新增請求)
Compose New 可以無到有新增一個請求
可設定的內容有 URL, Method, Content type, Protocol version
該請求發送後,可以對該請求再次修改
Repeat (重複請求)
如果想要測試更改後端後在瀏覽器中重複請求的內容
透過 Repeat 重複請 將節省大量精力
Repeat 可以選擇一個請求並重復發送到服務器
重複請求是在 Charles 內部完成的
因此該響應僅能在 Charles 中查看 無法在瀏覽器中查看
Advanced Repeat (進階重複請求)
Advanced Repeat 擴展了 Repeat 功能
提供了迭代次數和併發數的選項 對於負載測試非常實用
"Iterations":迭代次數
"Concurrency":併發數
"Repeat delay (ms)":重複的延遲時間也可以使用固定範圍的時間
Validate (驗證) Comet
Publish Gist (發佈 Gist)
Publish Gist 可以將將所選請求和響應透過 Gist 發布
默認情況下 Gist 將匿名發佈 (也就是說發佈後將無法刪除)
如果尚未設定任何內容使用該功能 將會顯示資訊
可以在 Publish Gist Settings 中授權 Charles 使用 GitHub 帳戶進行發佈
等等會詳細介紹 Publish Gist Settings
Import/Export Settings (導入/導出設置)
可以透過 Import/Export 來匯入或匯出選定或是全部的設定內容
主要分成了三大塊 包含了 Proxy, Tools, Preferences
Profiles (配置文件)
當有不同的設定配置想要進行切換
除了透過 Import/Export 的方式之外
還可以透過設定 Profiles 來選擇最後設定的內容
可以透過 Add 來新增配置文件的紀錄點
被選定的 Active 將會記錄任何更改的設定內容 (可以想像成遊戲存擋點)
但是為了確保重要的配置不會遺失 還是 Export 一份會比較妥當
Publish Gist Settings (設定發佈要點)
在使用上面提到的 Publish Gist 之前
必須先授權 Charles 使用您的 GitHub 帳戶發布 Gists
點擊 Authorize 按鈕後 將會 GitHub.com 完成授予
可以透過 Import/Export 來匯入或匯出設定內容
"Publish as":發布時是否公開
"Publish limit (MB)":發布的內容大小限制
這週的內容還是在介紹 Charles 的 Tools 選項欄中的功能
因為內容過多所以將 Tools 的分享內容給拆分了兩個部分
而在這週小弟把 Tools 後半段的功能也分享完畢了
下週將會介紹 mobile 的封包攔截使用方式
如果介紹的內容可能有遺漏或是錯誤,還請各位大哥大姐提點
小弟將繼續往下週邁進。 ─=≡Σ((( つ•̀ω•́)つ
官方網站 (載點)