<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Charles 抓包工具

          共 12858字,需瀏覽 26分鐘

           ·

          2021-09-10 14:00

          Charles 簡介

          Charles 是在 PC 端常用的網(wǎng)絡(luò)封包截取工具,在做移動開發(fā)時,我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)議,常常需要截取網(wǎng)絡(luò)封包來分析。除了在做移動開發(fā)中調(diào)試端口外,Charles 也可以用于分析第三方應(yīng)用的通訊協(xié)議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協(xié)議。

          Charles 通過將自己設(shè)置成系統(tǒng)的網(wǎng)絡(luò)訪問代理服務(wù)器,使得所有的網(wǎng)絡(luò)訪問請求都通過它來完成,從而實(shí)現(xiàn)了網(wǎng)絡(luò)封包的截取和分析。

          Charles 是收費(fèi)軟件,可以免費(fèi)試用 30 天。試用期過后,未付費(fèi)的用戶仍然可以繼續(xù)使用,但是每次使用時間不能超過 30 分鐘,并且啟動時將會有 10 秒種的延時。因此,該付費(fèi)方案對廣大用戶還是相當(dāng)友好的,即使你長期不付費(fèi),也能使用完整的軟件功能。只是當(dāng)你需要長時間進(jìn)行封包調(diào)試時,會因?yàn)?Charles 強(qiáng)制關(guān)閉而遇到影響。

          Charles 主要的功能包括:

          • 截取 Http 和 Https 網(wǎng)絡(luò)封包。

          • 支持重發(fā)網(wǎng)絡(luò)請求,方便后端調(diào)試。

          • 支持修改網(wǎng)絡(luò)請求參數(shù)。

          • 支持網(wǎng)絡(luò)請求的截獲并動態(tài)修改。

          • 支持模擬慢速網(wǎng)絡(luò)。

          下載安裝 Charles

          https://www.charlesproxy.com/latest-release/download.do

          Charles 支持的操作系統(tǒng)包括:

          • Windows 64 bit(msi)

          • Windows 32 bit(msi)

          • macOS(dmg)

          • Linux 64 bit(tar.gz)

          • Linux 32 bit(tar.gz)

          打開瀏覽器訪問 Charles 官網(wǎng) ,下載相應(yīng)系統(tǒng)的 Charles 安裝包,然后安裝即可:

          • Windows: 運(yùn)行安裝應(yīng)用程序以在程序菜單中安裝 Charles。

          • Mac OS X: 通過雙擊解壓縮下載文件,然后將 Charles 應(yīng)用程序復(fù)制到 Applications 目錄中。

          • Linux: Charles 擁有 APT 和 YUM 存儲庫,如果你有基于 Debian 或基于 Red Hat 的 Linux 發(fā)行版,這是安裝 Charles 的首選方法。否則,將 tar.gz 文件解壓縮到適當(dāng)?shù)恼军c(diǎn)。如果您以前安裝過 Charles 并且正在進(jìn)行升級;首先確保 Charles 沒有運(yùn)行,然后安裝或復(fù)制在以前安上。通過運(yùn)行 bin/charles 腳本啟動 Charles。

          如果使用 Firefox,也可以下載 Firefox 插件。參考Firefox Add-On

          Charles 主界面介紹

          工具導(dǎo)航欄

          Charles 頂部為菜單導(dǎo)航欄,菜單導(dǎo)航欄下面為工具導(dǎo)航欄。

          工具導(dǎo)航欄中提供了幾種常用工具:

          • :清除捕獲到的所有請求

          • :紅點(diǎn)狀態(tài)說明正在捕獲請求,灰色狀態(tài)說明目前沒有捕獲請求。

          • :灰色狀態(tài)說明是沒有開啟網(wǎng)速節(jié)流,綠色狀態(tài)說明開啟了網(wǎng)速節(jié)流。

          • :灰色狀態(tài)說明是沒有開啟斷點(diǎn),紅色狀態(tài)說明開啟了斷點(diǎn)。

          • :編輯修改請求,點(diǎn)擊之后可以修改請求的內(nèi)容。

          • :重復(fù)發(fā)送請求,點(diǎn)擊之后選中的請求會被再次發(fā)送。

          • :驗(yàn)證選中的請求的響應(yīng)。

          • :常用功能,包含了 Tools 菜單中的常用功能。

          • :常用設(shè)置,包含了 Proxy 菜單中的常用設(shè)置。

          主界面視圖

          Charles 主要提供兩種查看封包的視圖,分別名為 StructureSequence

          • Structure:此視圖將網(wǎng)絡(luò)請求按訪問的域名分類。

          • Sequence:此視圖將網(wǎng)絡(luò)請求按訪問的時間排序。

          使用時可以根據(jù)具體的需要在這兩種視圖之前來回切換。請求多了有些時候會看不過來,Charles 提供了一個簡單的 Filter 功能,可以輸入關(guān)鍵字來快速篩選出 URL 中帶指定關(guān)鍵字的網(wǎng)絡(luò)請求。

          對于某一個具體的網(wǎng)絡(luò)請求,你可以查看其詳細(xì)的請求內(nèi)容和響應(yīng)內(nèi)容。如果請求內(nèi)容是 POST 的表單,Charles 會自動幫你將表單進(jìn)行分項(xiàng)顯示。如果響應(yīng)內(nèi)容是 JSON 格式的,那么 Charles 可以自動幫你將 JSON 內(nèi)容格式化,方便你查看。如果響應(yīng)內(nèi)容是圖片,那么 Charles 可以顯示出圖片的預(yù)覽。

          Charles 菜單介紹

          Charles 的主菜單包括:FileEditViewProxyToolsWindowHelp。用的最多的主菜單分別是 ProxyTools

          Proxy 菜單

          Charles 是一個 HTTP 和 SOCKS 代理服務(wù)器。代理請求和響應(yīng)使 Charles 能夠在請求從客戶端傳遞到服務(wù)器時檢查和更改請求,以及從服務(wù)器傳遞到客戶端時的響應(yīng)。下面主要介紹 Charles 提供的一些代理功能。Proxy 菜單的視圖如下圖所示:

          Proxy 菜單包含以下功能:

          • Start/Stop Recording:開始/停止記錄會話。

          • Start/Stop Throttling:開始/停止節(jié)流。

          • Enable/Disable Breakpoints:開啟/關(guān)閉斷點(diǎn)模式。

          • Recording Settings:記錄會話設(shè)置。

          • Throttle Settings:節(jié)流設(shè)置。

          • Breakpoint Settings:斷點(diǎn)設(shè)置。

          • Reverse Proxies Settings:反向代理設(shè)置。

          • Port Forwarding Settings:端口轉(zhuǎn)發(fā)。

          • Windows Proxy:記錄計(jì)算機(jī)上的所有請求。

          • Proxy Settings:代理設(shè)置。

          • SSL Proxying Settings:SSL 代理設(shè)置。

          • Access Control Settings:訪問控制設(shè)置。

          • External Proxy Settings:外部代理設(shè)置。

          • Web Interface Settings:Web 界面設(shè)置。

          Recording Settings(記錄會話設(shè)置)

          Recording Settings 和 Start/Stop Recording 配合使用,在 Start Recording 的狀態(tài)下,可以通過 Recording Settings 配置 Charles 的會話記錄行為。Recording Settings 的視圖如下圖所示:

          Recording Settings 有OptionsIncludeExclude三個選項(xiàng)卡:

          • Options:通過 Recording Size Limits 限制記錄數(shù)據(jù)的大小。當(dāng) Charles 記錄時,請求、響應(yīng)頭和響應(yīng)體存儲在內(nèi)存中,或?qū)懭氪疟P上的臨時文件。有時,內(nèi)存中的數(shù)據(jù)量可能會變得太多,Charles 會通知您并停止錄制。在這種情況下,您應(yīng)該清除 Charles 會話以釋放內(nèi)存,然后再次開始錄制。在錄制設(shè)置中,您可以限制 Charles 將記錄的最大大小; 這根本不會影響你的瀏覽,Charles 僅會停止錄制。

            • Include:只有與配置的地址匹配的請求才會被錄制。

            • Exclude:只有與配置的地址匹配的請求將不會被錄制。

          IncludeExclude 選項(xiàng)卡的操作相同,選擇 Add,然后填入需要監(jiān)控的Procotol、Host 和 Port等信息,這樣就達(dá)到了過濾的目的。如下圖所示:

          還有一種方法就是在一個請求網(wǎng)址上右擊選擇Focus,然后其他的請求就會被放到一個叫Other Host的分類里面,這樣也達(dá)到了過濾的目的。

          Throttle Settings(節(jié)流設(shè)置)

          Throttle Settings 和 Start/Stop Throttling 配合使用,在 Start Throttling 的狀態(tài)下,可以通過 Throttle Settings 配置 Charles 的網(wǎng)速模擬配置。Throttle Settings 的視圖如下圖所示:

          勾選 Enable Throttling 啟用網(wǎng)速模擬配置,在 Throttle Preset 下選擇網(wǎng)絡(luò)類型即可,具體設(shè)置可以根據(jù)實(shí)際情況自行設(shè)置。如果只想模擬指定網(wǎng)站的慢速網(wǎng)絡(luò),可以再勾選上圖中的Only for selected hosts項(xiàng),然后在對話框的下半部分設(shè)置中增加指定的 hosts 項(xiàng)即可。

          Throttle Settings 視圖中的選項(xiàng)含義如下:

          • Bandwidth:帶寬

          • Utilistation:利用百分比

          • Round-trip:往返延遲

          • MTU:字節(jié)

          Breakpoint Settings(斷點(diǎn)設(shè)置)

          Breakpoint Settings 和 Enable/Disable Breakpoints 配合使用,在 Enable Breakpoints 的狀態(tài)下,可以通過 Breakpoint Settings 配置 Charles 的斷點(diǎn)模式。Breakpoint Settings 的視圖如下圖所示:

          勾選 Enable Breakpoints 啟用斷點(diǎn)模式,選擇Add,然后填入需要監(jiān)控的Scheme、Procotol、Host 和 Port 等信息,這樣就達(dá)到了設(shè)置斷點(diǎn)的目的。然后可以來觀察或者修改請求或者返回的內(nèi)容,但是在這過程中需要注意請求的超時時間問題。或者可以在某個想要設(shè)置斷點(diǎn)的請求網(wǎng)址上右擊選擇 Breakpoints 來設(shè)置斷點(diǎn)。

          Reverse Proxies Settings(反向代理設(shè)置)

          反向代理在本地端口上創(chuàng)建 Web 服務(wù)器,該端口透明地將請求代理給遠(yuǎn)程 Web 服務(wù)器。反向代理上的所有請求和響應(yīng)都可以記錄在 Charles 中。

          如果您的客戶端應(yīng)用程序不支持使用 HTTP 代理,或者您希望避免將其配置為使用代理,那么反向代理很有用。創(chuàng)建原始目標(biāo) Web 服務(wù)器的反向代理,然后將客戶端應(yīng)用程序連接到本地端口;反向代理對客戶端應(yīng)用程序是透明的,使您可以查看 Charles 以前可能無法訪問的流量。

          有關(guān)反向代理的更多信息,請?jiān)L問 Reverse proxy

          Port Forwarding Settings(端口轉(zhuǎn)發(fā))

          可以將任何 TCP/IPUDP 端口配置為使用 Port Forwarding 工具從 Charles 轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)。這樣可以調(diào)試 Charles 中的任何協(xié)議。

          在 Macromedia Flash 中調(diào)試 XMLSocket 連接時,這尤其有用。

          還可以使用 Charles 作為 SOCKS 代理,因此無需設(shè)置端口轉(zhuǎn)發(fā)。

          Windows Proxy(記錄計(jì)算機(jī)上的所有請求)

          如果想要抓取電腦端的請求,勾選 Windows Proxy 選項(xiàng)即可;如果只需要抓取手機(jī)請求,則取消勾選這個選項(xiàng)。

          Proxy Settings(代理設(shè)置)

          Proxy Settings 的視圖如下圖所示:

          代理端口默認(rèn)為 8888(可以修改),并且勾上Enable transparent HTTP proxying就完成了在 Charles 上的代理設(shè)置。

          SSL Proxy Settings(SSL 代理設(shè)置)

          SSL Proxy Settings 的視圖如下圖所示:

          勾上Enable SSL proxying就完成了在 Charles 上的 SSL 代理設(shè)置。之后也可以選擇Add,然后填入需要監(jiān)控的 Host 和 Port 信息,這樣就達(dá)到了針對某個域名啟用 SSL 代理的目的。

          Access Control Settings(訪問控制設(shè)置)

          Access Control Settings 表示訪問控制設(shè)置。訪問控制列表確定誰可以使用此 Charles 實(shí)例。通常,您在自己的計(jì)算機(jī)上運(yùn)行 Charles,并且您只打算自己使用它,因此 localhost 始終包含在訪問控制列表中。也可以選擇 Add,然后填入允許訪問的 IP,這樣就達(dá)到了允許某個 IP 訪問 Charles 的目的。

          External Proxy Settings(外部代理設(shè)置)

          External Proxy Settings 表示外部代理設(shè)置。可能在網(wǎng)絡(luò)上有一個代理服務(wù)器,必須使用該代理服務(wù)器才能訪問 Internet。在這種情況下,需要將 Charles 配置為在嘗試訪問 Internet 時使用現(xiàn)有代理。

          可以配置單獨(dú)的代理地址和端口:

          • HTTP

          • HTTPS

          • SOCKS

          如果您有 SOCKS 代理,Charles 將把它用于所有非 HTTP(S) 流量,例如端口轉(zhuǎn)發(fā)。

          Web Interface Settings(Web 界面設(shè)置)

          Web Interface Settings 表示 Web 界面設(shè)置。Charles 有一個 Web 界面,可以讓您從瀏覽器控制 Charles,或使用 Web 界面作為 Web 服務(wù)使用外部程序。

          在 External Proxy Settings 視圖中勾選 Enable the web interface 選項(xiàng)啟用 Web 界面。可以允許匿名訪問,也可以配置用戶名和密碼。還可以通過在配置使用 Charles 作為其代理的 Web 瀏覽器中訪問 http://control.charles/ 來訪問 Web 界面。

          Web界面提供對以下功能的訪問:

          • 節(jié)流控制

            • 激活或停用任何已配置的限制預(yù)設(shè)

          • 錄音控制

            • 開始和停止會話錄制

          • 工具

            • 激活和停用工具

          • 會話控制

            • 清除當(dāng)前會話

            • 以任何支持的格式導(dǎo)出當(dāng)前會話

            • 以 Charles 的本機(jī)會話格式下載當(dāng)前會話

          • 退出查爾斯

          通過檢查 Web 界面 HTML ,您可以推導(dǎo)出如何將其用作 Web 服務(wù)來自動化 Charles。

          Tools 菜單

          Charles 是一個 HTTP 和 SOCKS 代理服務(wù)器,所有的請求都會經(jīng)過 Charles。下面主要介紹 Charles 提供的一些實(shí)用工具。Tools 菜單的視圖如下圖所示:

          Tools 菜單包含以下功能:

          • No Caching Settings:禁用緩存設(shè)置。

          • Block Cookies Settings:禁用 Cookie設(shè)置。

          • Map Remote Settings:遠(yuǎn)程映射設(shè)置。

          • Map Local Settings:本地映射設(shè)置。

          • Rewrite Settings:重寫設(shè)置。

          • Black List Settings:黑名單設(shè)置。

          • White List Settings:白名單設(shè)置。

          • DNS Spoofing Settings:DNS 欺騙設(shè)置。

          • Mirror Settings:鏡像設(shè)置。

          • Auto Save Settings:自動保存設(shè)置。

          • Client Process Settings:客戶端進(jìn)程設(shè)置。

          • Compose:編輯修改。

          • Repeat:重復(fù)發(fā)包。

          • Repeat Advanced:高級重復(fù)發(fā)包。

          • Validate:驗(yàn)證。

          • Publish Gist:發(fā)布要點(diǎn)。

          • Import/Export Settings:導(dǎo)入/導(dǎo)出設(shè)置。

          • Profiles:配置文件。

          • Publish Gist Settings:發(fā)布要點(diǎn)設(shè)置。

          No Caching Settings(禁用緩存)

          No Caching 工具可防止客戶端應(yīng)用程序(如 Web 瀏覽器)緩存任何資源。因此,始終向遠(yuǎn)程網(wǎng)站發(fā)出請求,您始終可以看到最新版本。

          適用范圍

          該工具可以作用于每個請求(選中 Enable No Caching 即可),也可以僅對你配置的請求啟用(啟用 No Caching 的同時,請選中 Only for selected locations)。當(dāng)用于選定的請求時,可以使用簡單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和路徑。

          工作原理

          No Caching 工具通過操縱控制響應(yīng)緩存的 HTTP 請求頭來防止緩存。從請求中刪除 If-Modified-Since 和 If-None-Match 請求頭,添加 Pragma:no-cache 和 Cache-control:no-cache。從響應(yīng)中刪除 Expires,Last-Modified 和ETag 請求頭,添加 Expires:0 和 Cache-Control:no-cache。

          Block Cookies Settings(禁用 Cookie)

          Block Cookies 工具阻止了 Cookie 的發(fā)送和接收。它可用于測試網(wǎng)站,就像在瀏覽器中禁用了 Cookie 一樣。請注意,網(wǎng)絡(luò)爬蟲(例如 Google)通常不支持 Cookie,因此該工具還可用于模擬網(wǎng)絡(luò)爬蟲網(wǎng)站的視圖。

          適用范圍

          該工具可以作用于每個請求(選中 Enable Block Cookies 即可),也可以僅對你配置的請求啟用(啟用 Block Cookies 的同時,請選中 Only for selected locations)。當(dāng)用于選定的請求時,可以使用簡單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和路徑。

          工作原理

          Block Cookies 工具通過操縱控制響應(yīng) Cookies 的 HTTP 請求頭來禁用 Cookies。從請求中移除 Cookie 請求頭,防止 Cookie 值從客戶端應(yīng)用程序(例如 Web 瀏覽器)發(fā)送到遠(yuǎn)程服務(wù)器。從響應(yīng)中刪除 Set-Cookie 請求頭,防止請求設(shè)置客戶端應(yīng)用程序從遠(yuǎn)程服務(wù)器接收的 Cookie。

          Map Remote Settings(遠(yuǎn)程映射)

          Map Remote 工具根據(jù)配置的映射更改請求站點(diǎn),以便從新站點(diǎn)透明地提供響應(yīng),就好像這是原始請求一樣。

          通過此映射,您可以從另一個站點(diǎn)提供全部或部分站點(diǎn)。例如:

          • 可以把 xk72.com/charles/ 映射到 localhost/charlesdev/ 來為 xk72.com 提供一個子目錄;

          • 可以把 xk72.com/*.php 這種指定后綴的所有文件映射到 localhost/charlesdev/。

          使用建議

          如果您擁有站點(diǎn)的開發(fā)版本并且希望能夠通過開發(fā)提供的某些請求瀏覽實(shí)時站點(diǎn),則 Map Remote 非常有用。例如,您可能希望從開發(fā)服務(wù)器提供 css 和 images 目錄。使用 live.com/css/ 等映射到 dev.com/css/ 或 live.com/*.css 到 dev.com 。

          映射類型

          • 可以將目錄映射到目錄,如 xk72.com/charles/ 映射到 localhost/charlesdev/;

          • 可以將文件映射到文件,如 xk72.com/charles/download.php 映射到 abc.com/testing/test.html;

          • 可以將帶有文件模式的目錄映射到目錄,如 xk72.com/charles/*.php 到 localhost/charlesdev/;

          • 如果在目標(biāo)映射中未指定路徑,則 URL 的路徑部分將不會更改。如果要映射到根目錄,請?jiān)谀繕?biāo)路徑字段中已 / 結(jié)尾。

          HTTPS

          Map Remote 工具可以將 HTTP 請求映射到 HTTPS 目標(biāo),反之亦然,因此您可以將 HTTP 或 HTTPS 站點(diǎn)映射到其對立面。

          站點(diǎn)匹配

          每個站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時,可能會找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。

          Map Local Settings(本地映射)

          Map Local 工具使您可以使用本地文件,就像它們是遠(yuǎn)程網(wǎng)站的一部分一樣。您可以在本地開發(fā)文件,并像在線上一樣測試它們。本地文件的內(nèi)容將返回給客戶端,就像它是正常的遠(yuǎn)程響應(yīng)一樣。

          Map Local 可以大大加快開發(fā)和測試速度,否則您必須將文件上傳到網(wǎng)站以測試結(jié)果。使用 Map Local,您可以在開發(fā)環(huán)境中安全地進(jìn)行測試。

          動態(tài)文件

          動態(tài)文件(例如包含服務(wù)器端腳本的文件)不會由 Map Local 執(zhí)行,因此如果文件中有任何腳本,腳本將按原樣返回到瀏覽器,這可能不是預(yù)期的結(jié)果。如果您想使用動態(tài)文件,就好像它們是遠(yuǎn)程網(wǎng)站的一部分一樣,請參閱 Map Remote 工具。

          工作原理

          當(dāng)請求與 Map Local 映射匹配時,它會檢查與路徑匹配的本地文件。它不包括查詢字符串(如果有)。如果在本地找到所請求的文件,則將其作為響應(yīng)返回,就好像它是從遠(yuǎn)程站點(diǎn)加載的一樣,因此它對客戶端是透明的。如果在本地找不到所請求的文件,那么該請求會像平常一樣由網(wǎng)站提供,返回由真正的服務(wù)器提供的數(shù)據(jù)。

          站點(diǎn)匹配

          每個站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時,可能會找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。

          Rewrite Settings(重寫)

          Rewrite 工具允許創(chuàng)建請求和響應(yīng)在通過 Charles 時修改他們的規(guī)則。如:添加或更改頭信息、搜索和替換響應(yīng)內(nèi)容中的某些文本等。

          重寫集

          重寫集可以單獨(dú)激活和停用。每個集合包含站點(diǎn)和規(guī)則的列表。這些站點(diǎn)選擇規(guī)則將要運(yùn)行的請求和響應(yīng)。

          重寫規(guī)則

          每個規(guī)則都描述了一次重寫操作。規(guī)則可能會影響請求URL的 Header,正文或部分內(nèi)容;它可以根據(jù)請求或響應(yīng)來操作;它可以定義搜索、替換或者僅替換樣式重寫。

          站點(diǎn)匹配

          每個站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時,可能會找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。

          調(diào)試

          當(dāng)重寫操作未按預(yù)期工作時,重寫工具可能難以調(diào)試。如果您遇到問題,請嘗試添加一個非常基本的規(guī)則,例如添加明顯頭信息的規(guī)則,以便您可以查看規(guī)則是否與請求完全匹配。同時打開錯誤日志中的調(diào)試,以獲取從 Charles 中的 Window 菜單訪問的錯誤日志中打印的一些調(diào)試信息。

          Black List Settings(黑名單)

          Black List 工具允許輸入應(yīng)該被阻止的域名。當(dāng) Web 瀏覽器嘗試從被列入黑名單的域名請求任何頁面時,該請求將被 Charles 阻止。您還可以輸入通配符來阻止其子域名。

          White List Settings(白名單)

          Black List 工具允許輸入僅僅被允許的域名。Black List 工具將阻止除被列入白名單的域名之外的所有請求。

          白名單工具用于僅允許指定的域名;黑名單工具,用于僅屏蔽指定的域名。

          如果一個請求與“黑名單”和“白名單”都匹配,則該請求會被阻止。

          DNS Spoofing Settings(DNS 欺騙)

          DNS Spoofing 工具允許通過將自己的主機(jī)名指定給遠(yuǎn)程地址映射來欺騙 DNS 查找。當(dāng)請求通過 Charles 時,您的 DNS 映射將優(yōu)先。

          Charles 包含配置的域名到 IP 地址映射的列表。當(dāng)針對列出的域名發(fā)出請求時,Spoof DNS 插件會發(fā)現(xiàn)欺騙 IP 將請求重定向到該地址。主機(jī)HTTP標(biāo)頭保持不變,因此就像您的 DNS 服務(wù)器返回欺騙性 IP一樣。

          虛擬主機(jī)

          虛擬主機(jī)是指單個IP地址上有多個站點(diǎn),Web 服務(wù)器根據(jù)瀏覽器中鍵入的名稱確定要請求的站點(diǎn)。更準(zhǔn)確地說,它查看請求中發(fā)送的主機(jī)頭。

          如果沒有為您的站點(diǎn)設(shè)置 DNS,那么您通常無法測試它,因?yàn)槟荒苤惠斎?IP 地址,因?yàn)榉?wù)器無法獲取名稱,因此無法將請求與網(wǎng)站。使用 DNS 欺騙工具來克服此問題。

          Mirror Settings(鏡像)

          Mirror 工具會在瀏覽指定站點(diǎn)時,把接收到的響應(yīng)內(nèi)容克隆一份,并保存在磁盤上指定的路徑下。

          保存文件的路徑會與瀏覽站點(diǎn)的目錄結(jié)構(gòu)相同,并且 Charles 會為主機(jī)名創(chuàng)建一個根目錄。文件名從 URL 導(dǎo)出并轉(zhuǎn)換為適合的數(shù)據(jù)進(jìn)行保存。查詢字符串包含在文件名中。如果收到相同 URL 的兩個響應(yīng),則后面一個文件會覆蓋前面的同名文件,因此保存在鏡像中在的響應(yīng)內(nèi)容將始終為最新的。

          選定站點(diǎn)

          可以為每個請求啟用該工具,也可以僅為指定站點(diǎn)啟用該工具。當(dāng)用于選定的站點(diǎn)時,可以使用簡單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和/或路徑。

          副作用

          如果為請求啟用鏡像工具,它將導(dǎo)致任何壓縮或編碼的響應(yīng)被解碼。因此,如果服務(wù)器提供了壓縮響應(yīng),Charles 將在傳遞給客戶端之前對其進(jìn)行解壓縮,這通常不會產(chǎn)生任何影響。但是如果您已經(jīng)構(gòu)建了自己的客戶端,或者客戶端希望得到壓縮響應(yīng),此時將會產(chǎn)生影響。使用 web 瀏覽器則沒有任何影響。

          Auto Save Settings(自動保存)

          Auto Save 工具會按設(shè)定的時間間隔自動保存和清除記錄會話。

          如果您讓 Charles 長時間監(jiān)控網(wǎng)絡(luò)活動,并希望將記錄分解為可管理的單元,或者避免因數(shù)據(jù)量過大而可能出現(xiàn)的內(nèi)存不足情況,這將非常有用。

          輸入以分鐘為單位的保存間隔以及保存會話文件的目錄。您可以選擇是否在每次運(yùn)行 Charles 時啟動 Auto Save 工具,否則在 Charles 啟動時將始終禁用 Auto Save 工具。

          會話文件的名稱中保存時間戳,格式為 yyyyMMddHHmm,即年月日時分,以便按字母順序排序時,它們以正確的順序顯示。

          Client Process Settings(客戶端進(jìn)程)

          Client Process 工具顯示負(fù)責(zé)發(fā)出每個請求的本地客戶端進(jìn)程的名稱。客戶端進(jìn)程通常是您的 Web 瀏覽器(例如 firefox.exe),但客戶端進(jìn)程工具可以幫助您發(fā)現(xiàn)許多可能未知的 HTTP 客戶端。

          客戶端進(jìn)程名稱顯示在每個請求的 Notes 區(qū)域中。

          如果您可以在 Charles 中看到不確定原始進(jìn)程的請求,則客戶端進(jìn)程工具很有用。它僅適用于在運(yùn)行 Charles 的計(jì)算機(jī)上發(fā)出的請求。

          在 Charles 接受每個連接之前,該工具將引入一個短暫的延遲。延遲通常不明顯或不顯著。

          選定站點(diǎn)

          可以為每個請求啟用該工具,也可以僅為指定站點(diǎn)啟用該工具。當(dāng)用于選定的站點(diǎn)時,可以使用簡單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和/或路徑。

          Compose(編輯修改)

          Compose 工具允許在原有的請求基礎(chǔ)上修改。

          Repeat(重復(fù))

          Repeat 工具允許選擇一個請求并重復(fù)它。Charles 將請求重新發(fā)送到服務(wù)器,并將響應(yīng)顯示為新請求。如果您正在進(jìn)行后端更改并希望在瀏覽器(或其他客戶機(jī))中重復(fù)請求的情況下測試這些更改,那么這將非常有用。特別是如果重新創(chuàng)建請求需要花費(fèi)一些精力,例如在游戲中獲得分?jǐn)?shù),這將節(jié)省大量精力。

          重復(fù)請求是在 Charles 內(nèi)部完成的,因此無法在瀏覽器或其他客戶端中查看響應(yīng),響應(yīng)只能在 Charles 中查看。

          Repeat Advanced(高級重復(fù))

          Repeat Advanced 工具擴(kuò)展了 Repeat 工具,提供了迭代次數(shù)和并發(fā)數(shù)的選項(xiàng)。這對于負(fù)載測試非常有用。

          Validate(驗(yàn)證)

          Validate 工具允許 Charles 通過將它們發(fā)送到 W3C HTML 驗(yàn)證器、W3C CSS 驗(yàn)證器和 W3C Feed 驗(yàn)證器來驗(yàn)證記錄的響應(yīng)。

          驗(yàn)證報(bào)告在 Charles 中顯示,其中包含與響應(yīng)源中相應(yīng)行相關(guān)聯(lián)的任何警告或錯誤(雙擊錯誤消息中的行號可以切換到源視圖)。

          因?yàn)?Charles 測試它記錄的響應(yīng),所以它可以測試不易測試的場景,例如在提交表單后呈現(xiàn)錯誤消息。

          重新驗(yàn)證

          驗(yàn)證后,可以從驗(yàn)證結(jié)果中選擇響應(yīng)并 Repeat,重復(fù)原始請求,然后重新驗(yàn)證結(jié)果。

          Publish Gist(發(fā)布要點(diǎn))

          Publish Gist 工具可以將將所選請求和響應(yīng)作為要點(diǎn)發(fā)布。默認(rèn)情況下,這個要點(diǎn)將匿名發(fā)布,這意味著你將無法做到
          刪除它。可以在
          Tools 菜單的 Publish Gist Settings 中授權(quán) Charles 使用您的 GitHub 帳戶進(jìn)行發(fā)布。

          Import/Export Settings(導(dǎo)入/導(dǎo)出)

          Import/Export 工具允許導(dǎo)入/導(dǎo)出 Charles 的 ProxyToolsPreferences 等設(shè)置。

          Profiles(配置)

          Profiles 包含所有配置設(shè)置的完整副本。

          每次更改當(dāng)前設(shè)置時,系統(tǒng)都會更新當(dāng)前活動的配置文件,當(dāng)您更改活動配置文件時,所有設(shè)置都將恢復(fù)為上次使用該配置文件時的狀態(tài)。

          請注意,如果導(dǎo)入已保存的配置,則會覆蓋當(dāng)前配置文件的設(shè)置。建議使用導(dǎo)入/導(dǎo)出來備份或創(chuàng)建當(dāng)前配置和配置文件的快照,以維護(hù)多個并行工作區(qū)。

          Charles 使用教程

          通過 Charles 進(jìn)行 PC 端抓包

          Charles 會自動配置瀏覽器和工具的代理設(shè)置,所以說打開工具直接就已經(jīng)是抓包狀態(tài)了。只需要保證一下幾點(diǎn)即可:

          1. 確保 Charles 處于 Start Recording 狀態(tài)。

          2. 勾選 Proxy | Windows ProxyProxy | Mozilla FireFox Proxy

          通過 Charles 進(jìn)行移動端抓包

          手機(jī)抓包的原理,和 PC 類似,手機(jī)通過把網(wǎng)絡(luò)委托給 Charles 進(jìn)行代理與服務(wù)端進(jìn)行對話。具體步驟如下:

          1. 使手機(jī)和電腦在一個局域網(wǎng)內(nèi),不一定非要是一個 IP 段,只要是在同一個路由器下即可。

          2. 電腦端配置:

          3. 關(guān)掉電腦端的防火墻(這點(diǎn)很重要)。

          4. 打開 Charles 的代理功能:通過主菜單打開 Proxy | Proxy Settings 彈窗,填入代理端口(端口默認(rèn)為 8888,不用修改),勾選 Enable transparent HTTP proxying

          5. 如果不需要抓取電腦上的請求,可以取消勾選 Proxy | Windows ProxyProxy | Mozilla FireFox Proxy

          6. 手機(jī)端配置:通過 Charles 的主菜單 Help | Local IP Address 或者通過命令行工具輸入 ipconfig 查看本機(jī)的 IP 地址。設(shè)置代理:打開手機(jī)端的 WIFI 代理設(shè)置,輸入電腦 IP 和 Charles 的代理端口。

          7. 設(shè)置好之后,我們打開手機(jī)上的任意需要網(wǎng)絡(luò)請求的程序,就可以看到 Charles 彈出手機(jī)請求連接的確認(rèn)菜單(只有首次彈出),點(diǎn)擊 Allow 即可完成設(shè)置。

          8. 完成以上步驟,就可以進(jìn)行抓包了。

          通過 Charles 進(jìn)行 HTTPS 抓包

          HTTPS 的抓包需要在 HTTP 抓包基礎(chǔ)上再進(jìn)行設(shè)置。需要完成一下步驟:

          1. 完成 HTTP 抓包配置。

          2. 電腦端安裝 Charles 證書:通過 Charles 的主菜單 Help | SSL Proxying | Install Charles Root Certificate 安裝證書。

          3. 設(shè)置 SSL 代理:通過主菜單打開 Proxy | SSL Proxy Settings 彈窗,勾選 Enable SSL proxying

          4. 移動端安裝 Charles 證書:通過 Charles 的主菜單 Help | SSL Proxying | Install Charles Root Certificate on a Mobile Device or Remote Browser 安裝證書。

          5. 設(shè)置好之后,我們打開手機(jī)上的任意需要網(wǎng)絡(luò)請求的程序,就可以看到 Charles 彈出手機(jī)請求連接的確認(rèn)菜單(只有首次彈出),點(diǎn)擊 Allow 即可完成設(shè)置。

          6. 完成以上步驟,就可以進(jìn)行 HTTPS 抓包了。

          Charles License

          • Registered Name: https://zhile.io

          • License Key: 48891cf209c6d32bf4

          注冊碼來自于網(wǎng)絡(luò),注冊碼 Windows 和 Mac 通用。

          source:  //henleylee.github.io/posts/2018/da575840.html

          喜歡,在看

          瀏覽 44
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品人妻无码一区二区出白浆潮喷 | 毛片免费网址 | 亚洲一区翔田千里无码 | 操逼传媒 | 免费高潮视频网站 |