記錄Mac下使用Charles抓包


抓包

簡述

  在網絡應用如后端系統,app,小程序等的開發過程中,免不了接口可能會報錯,但是一般在app中或者小程序中沒有便捷的console控制台,而且線上環境也不會開啟調試模式,所以想看一下接口的響應就顯得比較麻煩,最近,博主就遇到小程序接口報錯,想查看卻抓不了包詳情的問題:(。每次都是找測試同學,但是測試同學也有自己的事情,所以就想着自己抓包。

  以前在windows電腦下,用過fidder工具來經常做安全測試,現在用mac電腦,fidder目前也已經支持mac系統了好像,但奈何有點貴,而且還未找到免費的用一哈,所以就換了一個Charles的工具,實戰操作了一番,在此記錄一下,幫助有需要的人。

環境裝備

此處羅列的是個人的配置,其他參考就行

  • mac os 11.1,無線網連接
  • Charles軟件安裝,版本:4.6.2
  • ios14設備,連接同一無線網

開始

說明:如果只是抓取本機的http請求,那么打開Charles自動配置就可以實現抓取,如果需要抓取https的接口或者抓取手機上的網絡請求,參考下面步驟操作

證書安裝

  Help --> SSL Proxying --> Install Charles Root Certificate

點擊上述菜單后會進入到鑰匙串里:

如果不是完全信任名稱旁邊的圖標會是紅色的。雙擊charles鑰匙串,選擇【顯示簡介】,將信任改為始終信任;如下

SSL代理配置

  Proxy --> SSL Proxy Settings


  先勾選Enable SSL Proxying,然后配置抓取路由,Add點擊

Host: *
Port: 443

  • 標識所有網址都抓取,443代表Https,當然此處的host可以配置成自己想抓的網站地址前綴只抓取特定網站

至此,電腦端https就可以實現抓取了,可重新抓取試試。

如果想要實現抓取手機上App端或者小程序端的接口怎么辦呢?請繼續參考下面

開啟代理



  勾選Enable transparent HTTP proxying,然后下方的端口port默認為8888,和本機端口不沖突占用就行,我這里填的是8889,記住這個端口號

手機端配置

設置手機代理

  設置手機代理需要注意手機與電腦連接的是同一個wifi,保證在同一局域網內即可,查看電腦端的IP地址,mac下進入命令窗口輸入ifconfig(或者在設置->網絡中查看)
  手機上點擊連接上的wifi,找到代理設置,不同手機可能方式不同哈,然后選擇手動,就剛剛電腦上的IP填入到此處,charles中配置的端口號填入到這里,存儲,代理就配置好了。

恭喜,到這里的話,手機上http請求就可以實現抓取了

手機上安裝證書

  要想實現手機上的https接口也可以抓取,還需要配置一下。如下,點擊 Help --> SSL Proxying --> Install Charles Root Certificate on a Mobile Device or Remote Browser,接着會彈出一個info框,上面指示了手機上需要配置的ip和端口等提示信息。
  手機下載證書,將chls.pro/ssl復制到瀏覽器中,會提示安裝證書,這里安裝證書按各自手機型號安裝就可以。安裝好只好,一定要記得去將證書設置為信任模式,比如ios下,去設置 -> 通用 -> 關於本機 -> 證書信任設置 打開信任

  OK,到這里就已經配置完成了,就可以實現在電腦端抓取手機端的http/https接口,下面來看下效果;

問題總結

抓取顯示unknow或亂碼等問題

  出現這個問題的可能原因:

  • 首先檢查證書配置是否正確,手機端以及電腦端的;
  • 是否已經信任證書;
  • 電腦端Charles代理的端口是否一致;
    還有其他問題可以參考這里,unknown、亂碼問題等

  這么一操作,就不用麻煩測試同學了,后續移動端接口的問題,可以自己抓包排查一下啦~


免責聲明!

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



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