日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

charles全面使用教程及常见功能详解(较详细)

發布時間:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 charles全面使用教程及常见功能详解(较详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要功能:

  • 抓取http和https請求
  • 修改服務器返回內容
  • 修改網絡請求
  • 模擬弱網絡
  • 其他問題
  • 簡介

    Charles其實是一款代理服務器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結果達到分析抓包的目的。

    Charles 主要的功能包括:

    截取 Http 和 Https 網絡封包。

    支持重發網絡請求,方便后端調試。

    支持修改網絡請求參數。

    支持網絡請求的截獲并動態修改。

    支持模擬慢速網絡。

    1. Charles安裝

    前提先安裝配置好Java環境,官網下載安裝Charles:https://www.charlesproxy.com/download/

    Charles共享賬號: Name:?https://zhile.io; Key: 48891cf209c6d32bf4

    Charles安裝證書:

    2. HTTP抓包

    (1)查看電腦IP地址

    方法一: 打開”運行”(快捷鍵:win+R鍵;或者在任務欄的”搜索”按鈕中查找并點擊”運行”),輸入“cmd”后進入命令行窗口,在命令行窗口中輸入”ipconfig”命令查看IP?

    方法二: 在charles中查看 :Help -> Local IP Address

    (2)Charles代理設置

    接下來打開Charles的代理設置:Proxy->Proxy Settings,設置一下端口號,默認的是8888,這個只要不和其他程序的沖突即可,并且勾選Enable transparent HTTP proxying。

    (3)Charles設置Proxy代理

    Proxy -> SSL Proxying Settings... 勾選Enable SSL Proxying,點擊Add,點擊Add,Host設置要抓取的https接口,??

    Host : * (使用通配符表示檢測所有網絡請求;Port:443)

    比如想抓所有接口的內容,Host填寫:*,Port填寫:443

    完成以上操作,就完成Charles抓取HTTP(S)數據包的所有配置了。

    (4)手機端設置

    在手機設備、模擬器或者遠程瀏覽器上設置代理,抓取手機設備上的請求包(手機和電腦必須在同一個局域網內,并關閉電腦防火墻、其他代理或者翻墻軟件)

    第一步:在手機wifi 上設置代理 -> 長按無線網絡-->修改網絡-->高級選項-->代理 手動-->手動輸入輸入IP、端口號

    服務器IP:PC機器的IP(通過之前介紹的查看IP的方法)

    第二步:Charles彈出詢問“allow”或者“deny”,點擊“allow”按鈕允許;出現手機的HTTP請求列表

    第三步:如果修改相關配置后,沒有出現上面截圖信息,可在設置中加入自己手機的IP,如下圖:

    第四步 安裝證書

    • 抓取https數據需要在手機上安裝證書,HTTPS的抓包需要在HTTP抓包基礎上再進行設置;
    • Help -> SSL proxying -> Install charles root certificate on a Mobile Device or remote browser…

    出現彈窗得到地址chls.pro/ssl

    • 在手機自帶的系統瀏覽器輸入地址chls.pro/ssl,出現證書安裝頁面,點擊安裝,手機設置有密碼的輸入密碼進行安裝。安裝完證書后,就可以截取手機上的 Https 通訊內容了。不過同樣需要注意,默認情況下 Charles 并不做截取,你還需要在要截取的網絡請求上右擊,選擇 SSL proxy 菜單項。
    • 注意2:iOS 10.3系統,需要在設置→通用→關于本機→證書信任設置里面啟用完全信任Charles證書

    3.Charles 主界面介紹

    主要是會話的兩種視圖模式以及對應的?requet/response?面板組成:

    Structure視圖

    Sequence視圖

    Structure:樹狀結構顯示,將網絡請求按訪問的域名分類;

    Sequence:水平結構顯示,將網絡請求按訪問的時間排序

    Structure視圖模式下,列表會按照域名來歸類所有請求,而Sequence視圖則是按照請求發生的順序來展示;如果不習慣Sequence默認的上下視圖,可以修改為類似Fiddler的左右視圖模式(有更符合眼睛的習慣):快捷鍵 cmd+,->Charles Preferences->Viewers選擇Sequence view layout為Tall即可;

    常用的功能:

    Save response: 保存response數據到文件中,方便后面用于重定向功能map local...;選擇多條記錄后再右鍵就會有Save All...可以方便的把所有response信息一次性導出到某個目錄中,然后通過map local...結合通配符來批量重定向請求;

    Export: 可以將選中的多個會話信息完整導出成文件(*.chls),通過File - import來導入chls文件,方便不同開發人員進行調試或者現象復現分析;

    repeat advanced...: 可以重發次數以及并發數,用于進行簡單的服務器壓測,

    Filter?: 過濾,可以輸入關鍵字來快速篩選出 URL 中帶指定關鍵字的網絡請求

    Overview?: 查看這次請求的詳細內容,例如耗時詳細列車了請求開始時間、結束時間,響應開始時間、結束時間,總耗時、DNS耗時、網絡延時等。

    對于Size也詳細列出了請求頭大小、響應頭大小、壓縮比例等內容。?

    URL:進行網絡請求的鏈接;

    Status:當前狀態,complete表示請求完成;

    Responce Code:返回碼。不同的接口,不同的請求結果,返回碼都不同;

    Protocol:使用的協議;

    Method:請求方式,如GET請求,POST請求等;

    Kept Alive:判斷當前是否正在鏈接(活躍);

    Content-Type:發送的內容類型,如這里用的是XML文本,以UTF8的方式發送;

    Client Address:客戶端的IP地址;

    Remote Address:遠程服務器的IP;

    Timing:?

    Request Start Time:請求開始的時間;

    Request End Time:請求結束的時間;

    Response Start Time:返回開始的時間;

    Response End Time :?返回結束的時間;

    Duration :?總時間;

    Size:?

    Request Header :請求的頭部大小;

    Response Header:返回的頭部大小;

    Request :?請求發送的大小;

    Response:返回數據的大小;

    Total:所有數據大小;

    Request Compression :?請求壓縮;

    Response Compression :?返回壓縮;

    Request :?查看請求內容(底下的Headers,Query String,Cookies,Raw。)

    Headers:發送請求的頭部信息;

    Query String :?發送參數列表;

    Cookies:?瀏覽器緩存;

    Raw:發送的原生數據,包括了頭部和參數;

    Reponse :?查看響應內容

    Headers:是返回的頭部信息;

    Text:返回信息(除去頭部)后的文本;

    Hex:返回信息的16進制表示;

    XML:我返回的數據是XML。如果你返回的是JSON,這里就會顯示JSON;

    XML Text:如果你返回JSON,這里會顯示JSON Text;

    Raw:返回的所有原生數據,包括頭部;

    Summary:?查看發送數據的一些簡要信息(主機,狀態碼,數據的類型,header和body大下,加載時間,總時間)

    Chart:?Summary中簡要信息以圖表形式展示

    Notes:?其他信息

    抓包接口測試需要了解下相關HTTP狀態碼所對應說明

    4.菜單

    4.1Proxy 菜單

    這個用得比較多,在這里設置跟蹤捕捉過濾功能:

    Proxy菜單

    4.2過濾(?Recording Settings?)

    Recording Settings?

    設置會話捕捉條件,include?面板用于啟用/停止可以捕捉/顯示的會話;

    exclude?表示不顯示的會話,在會話列表中右鍵選擇?ignore?時,對應的url會出現在這里;

    record_setting_add

    比較好用的是過濾條件支持通配符,*表示任意多個字符,?表示一個字符,如Protocol中有http,https和 "",選擇空白或者輸入*都可以表示任意協議的請求;

    也可以通過主界面底部的Filter來簡單設置過濾條件,不支持通配符

    filter

    還有一種方法就是在一個網址上右擊,選擇Focus,然后其他的請求就會被放到一個叫Other Host的文件夾里面,這樣也達到了過濾的目的。

    4.3模擬網絡環境(Throttle Settings)

    4.3.1弱網設置throttle_settings

    • 在這里選擇要模擬的網絡環境,也可以自定義指定的url進行網絡環境(勾選only....),通過該功能,模擬不同的網絡帶寬、延時率、丟包率。

    • 弱網菜單介紹

    • 配置參數解析:

    ? ?bandwidth —— 帶寬,即上行、下行數據傳輸速度

    ? ?utilisation —— 帶寬可用率,大部分modern是100%

    ? ?round-trip latency —— 第一個請求的時延,單位是ms。

    ? ?MTU —— 最大傳輸單元,即TCP包的最大size,可以更真實模擬TCP層,每次傳輸的分包情況。

    ? ?Releability —— 指連接的可靠性。這里指的是10kb的可靠率。用于模擬網絡不穩定。

    ? ?Stability —— 連接穩定性,也會影響帶寬可用性。用于模擬移動網絡,移動網絡連接一般不可靠。

    • 這里設置完成后通過Proxy-Start Throttling(Ctrl+T)或者常用工具欄按鈕來啟用或停止;
    • 關于網絡網絡制式上下行頻率、速率比較2G、3G、4G網絡制式上下行頻率、速率比較_貓貓貓貓貓大人的博客-CSDN博客_4g上行速率和下行速率

    5.斷點功能

  • 方法:
    • 在會話列表中右鍵點擊某個會話,然后在菜單中選擇Breakpoints;
    • 通過Proxy-Breakpoint settings...中手動新建/啟用某個斷點;
    • 要求勾選enable breakpoints,之后當下次再有該請求時,會自動進入斷點模式;
    • 對斷點進行設置

    修改請求后發送

    6.常見問題解決

    1 . 手機無法抓包的問題

    檢查是否配置好代理IP,端口號

    檢查是否與電腦在同一個局域網

    檢查是否關閉防火墻,代理,翻墻軟件

    彈出詢問點擊“allow”或者“deny”時,誤點“deny”,關閉charles重啟,手機再次瀏覽則會重新彈出詢問

    2 . 解決request和response信息中的中文亂碼問題

    方法一 :修改charles windows版本安裝目錄下也有一個Charles.ini的配置文件?

    修改后的配置文件?添加-Dfile.encoding=UTF-8即可。

    通過以上方法就可以解決Request和Response的中文亂碼問題了。

    3.設置代理后,瀏覽器打不開網頁

    瀏覽器--設置--打開代理設置--局域網設置--去除代理服務器下圖選項后-確定

    總結

    以上是生活随笔為你收集整理的charles全面使用教程及常见功能详解(较详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。