<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Charles 抓包

      Charles 抓包

      Charles 簡介

      Charles 是在 PC 端常用的網絡封包截取工具,在做移動開發時,我們為了調試與服務器端的網絡通訊協議,常常需要截取網絡封包來分析。除了在做移動開發中調試端口外,Charles 也可以用于分析第三方應用的通訊協議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協議。

      Charles 通過將自己設置成系統的網絡訪問,使得所有的網絡訪問請求都通過它來完成,從而實現了網絡封包的截取和分析。

      Charles 主要的功能包括:

      • 截取 Http 和 Https 網絡封包。
      • 支持重發網絡請求,方便后端調試。
      • 支持修改網絡請求參數。
      • 支持網絡請求的截獲并動態修改。
      • 支持模擬慢速網絡。

      下載安裝 Charles

      Charles 支持的操作系統包括:

      • Windows 64 bit(msi)
      • Windows 32 bit(msi)
      • macOS(dmg)
      • Linux 64 bit(tar.gz)
      • Linux 32 bit(tar.gz)

      打開瀏覽器訪問 Charles 官網 ,下載相應系統的 Charles 安裝包,然后安裝即可:

      • Windows: 運行安裝應用程序以在程序菜單中安裝 Charles。
      • Mac OS X: 通過雙擊解壓縮下載文件,然后將 Charles 應用程序復制到 Applications 目錄中。
      • Linux: Charles 擁有 APT存儲庫,如果你有基于 Debian 或基于 Red Hat 的 Linux 發行版,這是安裝 Charles 的首選方法。否則,將 tar.gz 文件解壓縮到適當的站點。如果您以前安裝過 Charles 并且正在進行升級;首先確保 Charles 沒有運行,然后安裝或復制在以前安上。通過運行 bin/charles 腳本啟動 Charles。

      或者使用:

      Charles 主界面介紹

      Charles 的主界面視圖如下圖所示:
      image
      工具導航欄中提供了幾種常用工具:
      從左到右分別代表

      1. 清除捕獲到的所有請求
      2. 紅點狀態說明正在捕獲請求,灰色狀態說明目前沒有捕獲請求。
      3. 上鎖說明開啟了SSL Proxying,打開鎖說明沒有開啟SSL Proxying。
      4. 綠色狀態說明開啟了網速節流,灰色狀態說明是沒有開啟網速節流。
      5. 紅色狀態說明開啟了斷點,灰色狀態說明是沒有開啟斷點。
      6. 編輯修改請求,點擊之后可以修改請求的內容。
      7. 重復發送請求,點擊之后選中的請求會被再次發送。
      8. 驗證選中的請求的響應。
      9. 常用功能,包含了 Tools 菜單中的常用功能。
      10. 常用設置,包含了 Proxy 菜單中的常用設置。

      Charles視圖、Filter

      Charles 主要提供兩種查看封包的視圖,分別名為 Structure 和 Sequence。

      Structure: 此視圖將網絡請求按訪問的域名分類。

      Sequence:此視圖將網絡請求按訪問的時間排序。

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

      對于某一個具體的網絡請求,你可以查看其詳細的請求內容和響應內容。如果請求內容是 POST 的表單,Charles 會自動幫你將表單進行分項顯示。如果響應內容是 JSON 格式的,那么 Charles 可以自動幫你將 JSON 內容格式化,方便你查看。如果響應內容是圖片,那么 Charles 可以顯示出圖片的預覽。

      image-1651374068490
      Charles 菜單介紹
      Charles 的主菜單包括:File、Edit、View、Proxy、Tools、Window、Help。用的最多的主菜單分別是 Proxy 和 Tools。

      Proxy 菜單

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

      • Start/Stop Recording:開始/停止記錄會話。
      • Start/Stop SSL Proxying:開始/停止SSL代理。
      • Start/Stop Throttling:開始/停止節流。
      • Enable/Disable Breakpoints:開啟/關閉斷點模式。
      • Recording Settings:記錄會話設置。
      • SSL Proxying Settings:SSL代理設置。
      • Throttle Settings:節流設置。
      • Breakpoint Settings:斷點設置。
      • Reverse Proxies Settings:反向代理設置。
      • Port Forwarding Settings:端口轉發設置。
      • macOS Proxy:記錄計算機上的所有請求。
      • Proxy Settings:代理設置。
      • Access Control Settings:訪問控制設置。
      • External Proxy Settings:外部代理設置。
      • Web Interface Settings:Web 界面設置。

      Recording Settings(記錄會話設置)

      Recording Settings 和 Start/Stop Recording 配合使用,在 Start Recording 的狀態下,可以通過 Recording Settings 配置 Charles 的會話記錄行為。Recording Settings 的視圖如下圖所示:
      image-1651383710295
      Recording Settings 有 Options、Include、Exclude 三個選項卡:

      Options:通過 Recording Size Limits 限制記錄數據的大小。當 Charles 記錄時,請求、響應頭和響應體存儲在內存中,或寫入磁盤上的臨時文件。有時,內存中的數據量可能會變得太多,Charles 會通知您并停止錄制。在這種情況下,您應該清除 Charles 會話以釋放內存,然后再次開始錄制。在錄制設置中,您可以限制 Charles 將記錄的最大大小; 這根本不會影響你的瀏覽,Charles 僅會停止錄制。
      Include:與配置的地址匹配的請求才會被錄制。
      Exclude:與配置的地址匹配的請求將不會被錄制。
      Include 和 Exclude 選項卡的操作相同,選擇 Add,然后填入需要監控的Procotol、Host 和 Port等信息,這樣就達到了過濾的目的。如下圖所示:
      image-1651383854084
      還有一種方法就是在一個請求網址上右擊選擇 Focus,然后其他的請求就會被放到一個叫 Other Host 的分類里面,這樣也達到了過濾的目的。
      image-1651383981498

      Throttle Settings(節流設置)

      Throttle Settings 和 Start/Stop Throttling 配合使用,在 Start Throttling 的狀態下,可以通過 Throttle Settings 配置 Charles 的網速模擬配置。Throttle Settings 的視圖如下圖所示:
      image-1651384507154
      勾選 Enable Throttling 啟用網速模擬配置,在 Throttle Preset 下選擇網絡類型即可,具體設置可以根據實際情況自行設置。如果只想模擬指定網站的慢速網絡,可以再勾選上圖中的 Only for selected hosts 項,然后在對話框的下半部分設置中增加指定的 hosts 項即可。

      Throttle Settings 視圖中的選項含義如下:

      Bandwidth(kbps):帶寬
      Utilistation(%):利用百分比
      Round-trip latency(ms):往返延遲
      MTU(bytes):字節
      Reliability(%): 可靠性
      Stability(%): 穩定性
      Unstable quality range(%): 不穩定的質量范圍

      快捷使用:選中小烏龜就是使用節流弱網,不選中就是關閉

      Breakpoint Settings(斷點設置)

      Breakpoint Settings 和 Enable/Disable Breakpoints 配合使用,在 Enable Breakpoints 的狀態下,可以通過 Breakpoint Settings 配置 Charles 的斷點模式。Breakpoint Settings 的視圖如下圖所示:
      image-1651385254580
      勾選 Enable Breakpoints 啟用斷點模式,選擇 Add,然后填入需要監控的Scheme、Procotol、Host 和 Port 等信息,這樣就達到了設置斷點的目的。然后可以來觀察或者修改請求或者返回的內容,但是在這過程中需要注意請求的超時時間問題。或者可以在某個想要設置斷點的請求網址上右擊選擇 Breakpoints 來設置斷點。
      image-1651385522592

      Reverse Proxies Settings(反向代理設置)

      反向代理在本地端口上創建 Web 服務器,該端口透明地將請求代理給遠程 Web 服務器。反向代理上的所有請求和響應都可以記錄在 Charles 中。
      如果您的客戶端應用程序不支持使用 HTTP 代理,或者您希望避免將其配置為使用代理,那么反向代理很有用。創建原始目標 Web 服務器的反向代理,然后將客戶端應用程序連接到本地端口; 反向代理對客戶端應用程序是透明的,使您可以查看 Charles 以前可能無法訪問的流量。

      Port Forwarding Settings(端口轉發)

      可以將任何 TCP/IP 或 UDP 端口配置為使用 Port Forwarding 工具從 Charles 轉發到遠程主機。這樣可以調試 Charles 中的任何協議。
      在 Macromedia Flash 中調試 XMLSocket 連接時,這尤其有用。

      還可以使用 Charles 作為 SOCKS 代理,因此無需設置端口轉發。
      macOS Proxy(記錄計算機上的所有請求)
      如果想要抓取電腦端的請求,勾選 macOS Proxy 選項即可;如果只需要抓取手機請求,則取消勾選這個選項。

      Proxy Settings(代理設置)

      Proxy Settings 的視圖如下圖所示:
      image-1651385726130
      代理端口默認為 8888(可以修改),并且勾上 Enable transparent HTTP proxying 就完成了在 Charles 上的代理設置。

      SSL Proxy Settings(SSL 代理設置)

      SSL Proxy Settings 的視圖如下圖所示:
      image-1651385890075

      Tools 菜單

      Charles 是一個 HTTP 和 SOCKS 代理服務器,所有的請求都會經過 Charles。下面主要介紹 Charles 提供的一些實用工具。Tools 菜單的視圖如下圖所示:
      image-1651385926015

      Tools 菜單包含以下功能:

      • No Caching Settings:禁用緩存設置。
      • Block Cookies Settings:禁用 Cookie設置。
      • Map Remote Settings:遠程映射設置。
      • Map Local Settings:本地映射設置。
      • Rewrite Settings:重寫設置。
      • Block List Settings:黑名單設置。
      • Allow List Settings:白名單設置。
      • DNS Spoofing Settings:DNS 欺騙設置。
      • Mirror Settings:鏡像設置。
      • Auto Save Settings:自動保存設置。
      • Client Process Settings:客戶端進程設置。
      • Compose:編輯修改。
      • Compose new request:編輯修改。
      • Repeat:重復發包。
      • Repeat Advanced:高級重復發包。
      • Validate:驗證。
      • Publish Gist:發布要點。
      • Import/Export Settings:導入/導出設置。
      • Profiles:配置文件。
      • Publish Gist Settings:發布要點設置。
      • No Caching Settings(禁用緩存)

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

      適用范圍: 該工具可以作用于每個請求(選中 Enable No Caching 即可),也可以僅對你配置的請求啟用(啟用 No Caching 的同時,請選中 Only for selected locations)。當用于選定的請求時,可以使用簡單但功能強大的模式匹配將工具的效果限制為指定的主機和路徑。
      工作原理: No Caching 工具通過操縱控制響應緩存的 HTTP 請求頭來防止緩存。從請求中刪除 If-Modified-Since 和 If-None-Match 請求頭,添加 Pragma:no-cache 和 Cache-control:no-cache。從響應中刪除 Expires,Last-Modified 和ETag 請求頭,添加 Expires:0 和 Cache-Control:no-cache。

      Block Cookies Settings(禁用 Cookie)

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

      Map Remote Settings(遠程映射)

      Map Remote 工具根據配置的映射更改請求站點,以便從新站點透明地提供響應,就好像這是原始請求一樣。

      Map Local Settings(本地映射)

      Map Local 工具使您可以使用本地文件,就像它們是遠程網站的一部分一樣。您可以在本地開發文件,并像在線上一樣測試它們。本地文件的內容將返回給客戶端,就像它是正常的遠程響應一樣。

      Map Local 可以大大加快開發和測試速度,否則您必須將文件上傳到網站以測試結果。使用 Map Local,您可以在開發環境中安全地進行測試。

      Rewrite Settings(重寫)

      允許創建請求和響應在通過 Charles 時修改他們的規則。如:添加或更改頭信息、搜索和替換響應內容中的某些文本等。

      Block List Settings(黑名單)

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

      Allow List Settings(白名單)

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

      DNS Spoofing Settings(DNS 欺騙)

      DNS Spoofing 工具允許通過將自己的主機名指定給遠程地址映射來欺騙 DNS 查找。 當請求通過 Charles 時,您的 DNS 映射將優先。

      Mirror Settings(鏡像)

      Mirror 工具會在瀏覽指定站點時,把接收到的響應內容克隆一份,并保存在磁盤上指定的路徑下。

      Auto Save Settings(自動保存)

      Auto Save 工具會按設定的時間間隔自動保存和清除記錄會話。
      如果您讓 Charles 長時間監控網絡活動,并希望將記錄分解為可管理的單元,或者避免因數據量過大而可能出現的內存不足情況,這將非常有用。

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

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

      Client Process Settings(客戶端進程)

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

      Compose(編輯修改)

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

      Repeat(重復)

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

      重復請求是在 Charles 內部完成的,因此無法在瀏覽器或其他客戶端中查看響應,響應只能在 Charles 中查看。

      Repeat Advanced(高級重復)

      Repeat Advanced 工具擴展了 Repeat 工具,提供了迭代次數和并發數的選項。這對于負載測試非常有用。

      Validate(驗證)

      Validate 工具允許 Charles 通過將它們發送到 W3C HTML 驗證器、W3C CSS 驗證器和 W3C Feed 驗證器來驗證記錄的響應。

      驗證報告在 Charles 中顯示,其中包含與響應源中相應行相關聯的任何警告或錯誤(雙擊錯誤消息中的行號可以切換到源視圖)。

      因為 Charles 測試它記錄的響應,所以它可以測試不易測試的場景,例如在提交表單后呈現錯誤消息。

      重新驗證

      驗證后,可以從驗證結果中選擇響應并 Repeat,重復原始請求,然后重新驗證結果。

      Publish Gist(發布要點)

      Publish Gist 工具可以將將所選請求和響應作為要點發布。默認情況下,這個要點將匿名發布,這意味著你將無法做到 刪除它。可以在 Tools 菜單的 Publish Gist Settings 中授權 Charles 使用您的 GitHub 帳戶進行發布。
      Import/Export Settings(導入/導出)

      Import/Export 工具允許導入/導出 Charles 的 Proxy、Tools、Preferences 等設置。

      Profiles(配置)

      Profiles 包含所有配置設置的完整副本。

      每次更改當前設置時,系統都會更新當前活動的配置文件,當您更改活動配置文件時,所有設置都將恢復為上次使用該配置文件時的狀態。

      請注意,如果導入已保存的配置,則會覆蓋當前配置文件的設置。建議使用導入/導出來備份或創建當前配置和配置文件的快照,以維護多個并行工作區。

      charles SSL證書安裝

      電腦安裝SSL證書

      選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”
      image-1651386457177
      image-1651386527289
      image-1651386554999

      配置SSL的抓取域名

      選擇 “Proxy” -> “SSL Proxying Settings”
      啟用SSL代理,配置location
      image-1651386798000
      設置通用的https抓包規則
      image-1651387047920

      手機的抓包

      charles查看IP地址和端口
      image-1651397522288
      image-1651397551056
      記住個人電腦上charles上的IP和端口,我這里的端口8888 ip 192.168.3.7每個人的不同,

      安卓模擬器

      image-1651397884798
      下載證書:
      image-1651398137816

      iPhone

      image-1651400003862

      安卓手機

      步驟一 將手機和Charles連接并下載證書:
      1、將手機和電腦連接至同一WiFi
      2、打開Charles–help–Local IP Addresses查看ip地址
      3、打開手機–WiFi–設置代理為手動,輸入ip和端口號
      4、打開手機瀏覽器輸入:chls.pro/ssl 下載Charles證書
      5、可能由于安卓版本限制,不能直接安裝證書,需要從手機–設置–系統安全–加密與憑據–從SD卡安裝
      步驟二 unknown解決方法:
      1、安裝證書后,因安卓版本原因,導致該證書并沒有安裝至系統證書,所以此時抓包看到的請求和響應依然為(unknown)
      2、解決方法,將證書移至手機系統目錄(/system/etc/security/cacerts/)需要通過adb命令,切換為超級用戶使用命令:su
      3、由于證書安裝完后,通過adb命令查看該路徑(/data/misc/user/0/cacerts-added )就是一個hash值,所以將該hash值復制到系統目錄(/system/etc/security/cacerts/)即可
      使用命令(/data/misc/user/0/cacerts-added # cp hash值.0 /system/etc/security/cacerts/)
      4、復制發現,此時system文件為只讀,所以修改system文件編輯權限

       

       

       

       


      文章作者: shibuyu
      版權聲明: 本站所有文章除特別聲明外,均采用 CC BY-NC-SA 4.0 許可協議。轉載來自 師不予的測試Blog
      posted @ 2023-03-31 10:57  測試玩家勇哥  閱讀(354)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本高清aⅴ毛片免费| 国产成人人综合亚洲欧美丁香花| 国产95在线 | 亚洲| 国产精品一二三区久久狼| 国产亚洲国产亚洲国产亚洲| 中文字幕一卡二卡三卡| 无码加勒比一区二区三区四区| 国偷自产一区二区三区在线视频| 最新偷拍一区二区三区| 99国产精品白浆无码流出| 少妇厨房愉情理9仑片视频| 亚洲中文字幕国产精品| 免费一级黄色好看的国产| 久久99精品久久久久久青青| 中文字幕乱码熟妇五十中出| 无码人妻aⅴ一区二区三区蜜桃| 成年男女免费视频网站| 欧美日韩中文字幕久久伊人 | 国产精品自在拍首页视频8| 久热这里有精品视频播放| 国产日产免费高清欧美一区| 亚洲av高清一区二区三| 一区二区不卡国产精品| 99国产精品久久久久久久日本竹| 无码一区二区三区久久精品| 国产第一页浮力影院入口| 久久中文字幕无码一区二区| 丰满人妻熟妇乱精品视频| 亚洲中文字幕第一页在线| 欧美国产精品啪啪| 日本中文一二区有码在线| 久久综合色之久久综合色| 亚洲天堂激情av在线| 亚洲爆乳精品无码一区二区| 一本色道国产在线观看二区 | 2019国产精品青青草原| 久久毛片少妇高潮| 伊人春色激情综合激情网| 无码吃奶揉捏奶头高潮视频| 噜噜综合亚洲av中文无码| 国内自拍视频一区二区三区|