在工作期間,經過同事介紹,發現一款很強大的抓包工具Charles,現在記錄下來分享給大家。常用的有以下幾款功能:
1.支持配置抓取定向地址的網絡請求
- 打開charles,打開Proxy->Recording Settings
- 點擊add,可以將需要抓取的地址添加進去,這邊抓取淘寶的請求,如下圖添加,點擊“OK”,然后瀏覽器訪問www.taobao.com:
- 發現Charles抓取到了*.taobao.com的請求,如下圖所示,點開一個請求,里面都是unkown,而且左側有個“🔒”的符號:
說明:因為雖然之前添加了https://*.taobao.com過濾配置,但是Charles默認抓取的是http請求,所以對於https請求需要單獨開啟SSL配置
- 打開Proxy->SSL Proxying Settings
- 點擊add,將*.taobao.com添加進去,https的端口默認是443,然后點擊OK
- 重新訪問www.taobao.com,發現Charles中抓取到了相關的信息。
(有些朋友到這邊仍然不能抓取https的包,可以查看鑰匙串中Charles Proxy CA證書是否已經被設為“信任”,如果沒有,則雙擊,設為“始終信任”)
2.支持將服務器上的請求映射到本地進行代碼調試
有些開發人員在某些情況下,需要定位線上問題的時候,除了使用tomcat的遠程debug,但是這個需要在服務器啟動腳本中增加參數。
Charles有一個功能,很簡單就可以將線上的請求映射到本地,進行調試
- 打開Tools->Recording Settings
- 點擊add,將服務器上進程的地址和端口映射到loaclhost,然后在本地啟動服務,進行debug即可。
3.手機上配置代理,抓取手機上的請求信息
有些客戶端測試的時候,需要查看請求信息,那么可以使用Charles來抓取,如果是https請求,需要在手機上安裝證書並信任
- 打開Help->SSL Proxying->Install Charles...
- 打開手機WIFI,連接和電腦相同的WIFI,然后選中該無線網,添加http代理,即上圖中的10.242.131.136.8888,然后訪問chls.pro/ssl下載並安裝證書
- 進入通用->關於本機->證書信任設置,將剛剛安裝的證書設為信任即可。