Windows使用Charles對模擬器/真機進行抓包 問題記錄


准備工作

1. win10上安裝Charles -->下載地址 (注:官方版本如果不付費的每30分鍾就會斷開)

2. 打開Charles進行設置

  • PC端
    • Proxy-> Windows Proxy 這個去掉勾選,這樣就不會整個電腦都走代理了
    • Proxy-> Proxy Settings -> HTTP Proxy ->Port 設置代理的端口號如8888
    • Proxy-> Proxy Settings -> SSL Proxying -> Enable SSL Proxying 這個要勾選,使得Charles攔截和代理SSL請求
    • Proxy-> SSL Proxying Settings -> Include -> Location 在這個框下點擊ADD,添加讓Charles監聽的SSL站點,使用*號作為通配符匹配任意站點。
    • 點擊ok
  • 模擬器端(Android Studios的模擬器 Android 6 版本)
    • 點擊右側的 "...",進入設置頁面
    • 點擊左側邊欄的Settings
    • 點擊右側界面的Proxy標簽,進入代理設置頁面
    • 點中Manual proxy configuration
    • Host name填入電腦ip地址,Port number填入在Charles設置的端口號,如8888
    • 點擊APPLY
    • 打開模擬器中的瀏覽器輸入cls.pro/ssl,並按照提示下載證書,之后會在電腦Charles端彈出一個提示,點擊allow就好了
    • 真機可能需要在 設置->安全->從SD卡安裝證書 選擇下載的證書手動安裝,之后在 信任的憑據->用戶 下可以看到安裝的證書

遇到的坑

  1. 提示SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations
    解決方案:
    把目的ip添加到Proxy-> SSL Proxying Settings -> Include -> Location下(這一點很奇怪,這是網上查的方法,我設置之后也少了很多紅色unknown,但是*號應該是包含所有host地址的,不知道為什么還需要手動添加host)
  2. 手機端設備設置代理之后,訪問cls.pro/ssl失敗,提示超時,手機無法上網(已確認電腦與手機在同一網段內)
    解決方案:
    關閉Windows防火牆。控制面板->更新和安全->windows安全中心->防火牆和網絡保護->把網絡的防火牆給關掉(可能需要重啟,之前charles一直沒有彈出allow的提示框,重啟之后才彈出)
  3. 出現藍色的unknown
    解決方案:
    設置DNS
  4. 提示You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Help...
    解決方案:
    重新下載安裝證書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM