iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 29
2
自我挑戰組

工作雜記隨筆系列 第 29

Day 29. 好用的網路監控工具 - Charles

  • 分享至 

  • xImage
  •  

軟體介紹

下載點:Download

Charles 是在電腦上常用的網路封包截取工具,在做手機APP開發時,我們為了測試與伺服器端的網路通訊,常常需要截取網絡封包來分析。除了在做手機APP開發中測試端口外,Charles也可以用於分析第三方應用的通訊協議。配合Charles 的SSL 功能,Charles 還可以分析Https 協議。

Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網路封包的截取和分析。

Charles 是收費軟件,可以免費試用30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過30 分鐘,並且啟動時將會有10 秒种的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因為Charles 強制關閉而遇到影響。

Charles 主要的功能包括:

  • 截取Http 和Https 網絡封包。
  • 支持重發網絡請求,方便後端調試。
  • 支持修改網絡請求參數。
  • 支持網絡請求的截獲並動態修改。
  • 支持模擬慢速網絡。

使用Charles抓取手機網路使用資訊

  1. 將電腦和手機連上同一個WIFI網路
  2. 輸入ifconfig(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104
  3. 設置Charles上的Proxy settings

  4. 設置手機上的WIFI的PROXY
  5. 此時即可在電腦上看到手機的網路使用狀況

以本地檔案內容取代網路回應

有時我們在本地開發網頁功能時,若以API的方式去讀取資料,當我們在測試時可能會希望回傳某個固定的response。這時候就可以用Map Local的功能。

使用步驟
1、Save Response
選擇要模擬數據的接口,然後右鍵,選擇“Save Response”

2、修改Response
保存到本地的Response信息可以任意修改,如下:

3、設置Map Local
內容準備完成之後,可以設置當我們打API時會回應的內容是我們剛剛設定的本機的文件,選擇要模擬數據的網址右鍵,在彈出的菜單中選擇“Map Local”,設置如下:


4、Map Local的禁用和啟用
Map Local一般用於測試,測試完成後,需要禁用Map Local功能。charles中菜單欄選擇“tools->Map Local,可以選擇啟用或是禁用此功能。

Rewrite功能

有時候我們若是需要去修改回傳response的檔頭或者內容時,可以使用charles的rewrite功能

設定方式如下:

添加一個Rewrite規則,以將JSON回應內容更改為{"foo":"bar"}

從這邊可以看出回應有沒有真正被套用到設定的修改


上一篇
Day 28. 好用的API測試工具 - POSTMAN
下一篇
Day 30. 完賽。一個女人、母親、妻子、工程師的心聲
系列文
工作雜記隨筆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言