Charles(Windows/Android)入門使用

許小慶發表於2019-07-31
一. 介紹以及下載(windows)

charles

Charles是一個HTTP代理/HTTP監視器/反向代理,使開發人員能夠檢視其機器和Internet之間所有HTTP和SSL/HTTPS流量,這包括請求,響應和HTTP標頭(包含cookies和快取資訊)。下載地址

Charles 主要功能

  1. 支援擷取HTTP與HTTPS的網路封包;
  2. 支援重發請求,方便後端除錯;
  3. 支援修改網路請求引數;
  4. 支援網路請求截獲並動態修改;
  5. 支援模擬弱網路環境測試。

So 允許我來講一個主要功能的第一點,也是除錯程式最基本最常用的一點(個人見解,勿噴); 接下來就開始看正文。

二. 安裝及破解
  1. 安裝還是比較簡單的 訪問官網 點選DOWNLOAD 一頓行雲流水操作,就安裝完成。
  2. 為什麼要破解呢,Charles是一個收費軟體,如果不破解的話開啟應用後一次最多使用30分鐘;當然這樣的結果不是我們想要的 so 就需要一些特殊手段;
    2.1 破解的話 就是需要在網站上下載 charles.jar 檔案替換掉 安裝包內的此檔案 破解檔案下載地址
    0f6dabdc876364d02872d2e3e43fb12.png
    2.2 下載完成後在Charles安裝目錄下的lib目錄 找到之前的 Charles.jar 把新的覆蓋貼上進去 破解完成(未破解的Charles 只能使用半小時 半小時後程式閃退)
三. 下載證書
  1. 下載pc證書,開啟Charles 點選Help--SSL Proxying --Install CharlesRoot Certificate 點選後會出現一個下載證書的頁面
    pcSSL.gif
  2. 點選安裝證書--當前使用者--儲存到受信任的根證書頒發機構
    install.gif

  3. 安裝android證書 (小米手機為例) 電腦執行以下操作android.gif

image.png
3.1 電腦開啟 chls.pro/ssl 網址下載charles-proxy-ssl-proxying-certificate .pem檔案;然後使用usb傳輸檔案方式下載到手機內;點選設定--WiFi--高階設定--安裝證書--找到剛才下載的證書進行安裝;
3.2 這是題外話,為什麼檢視blog有的文章說,手機瀏覽器訪問 chls.pro/ssl 也能下載證書,我們卻用pc下載再拉入手機呢;原因就是小米手機網站下載的是檔案字尾為.crt的證書,在安裝的時候小米識別不了,無法安裝;在pc下載的是.pem字尾。
androidInstall.gif

  1. 注意點:1. Android機型在7.0及以上版本,不再信任基於使用者的CA證書,剛好我們們下載的這個證書就是基於使用者的CA證書,so 關於小程式或者H5頁面無法抓取請求,當然也是有解決的辦法,下面就不贅述了 給個地址有興趣可自行檢視;
    4.1 這第一種方式需要公司Android大佬的配合,就是要Android在配置檔案里加一個類似與CA集,信任使用者安裝的證書;
    4.2 第二種的解決方案思路則是先把證書下載到手機內部,然後將手機許可權(root),強制將使用者證書轉為系統證書;
四. 設定代理埠以及過濾請求
  1. 回到pc 設定Charles代理伺服器的埠 點選proxy -- proxySetting--設定埠 並啟動
    port.gif
  2. 啟用http代理,設定可以抓取的請求;(這裡沒有過濾使用了萬用字元;稍後說一個簡單的過濾方法。)
    https.gif
五. 開始抓包
  1. 首先保證Android手機與PC同處於一個區域網之下(一個WiFi) 然後PC執行cmd命令 ipconfig 檢視本機ip
    Charles(Windows/Android)入門使用
  2. 手機連結WiFi設定代理 ip就是與PC相同的ip 埠就是剛剛我們們設定的埠;進入WiFi檢視詳情,選擇代理改為手動,輸入上圖的ip,埠就是剛才我們們設定的埠8888;
  3. 看效果(下圖中包含一次性過濾請求的方法,比較簡單方便)
    1564482507(1).jpg
    3.1 使用方法:如果以上配置都已經完成,就可以開啟Charles 一邊“玩手機”一邊工作了;Charles會記錄下來你在手機做的操作(每個網路請求);然後根據相應的資訊分析或者除錯;

相關文章