前言
作為軟件測試工程師,大家在工作中肯定經常會用到各種抓包工具來輔助測試,比如瀏覽器自帶的抓包工具-F12,方便又快捷;比如時下特別流行的Fiddler工具,使用各種web和APP測試的各種場景的抓包分析;比如Wireshark,專注於調試網絡問以及和分析網絡協議包分析...然而,今天我要給大家分享的一款抓包工具叫做Charles,同樣也是一個抓包神器!
Charles是一款的抓包修改工具,其實也是一款代理服務器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結果達到分析抓包的目的。它是用Java編寫的,能支持Win體驗可以使用免費試用版本,試用時間為30天。試用期過后每次只能試用30分鍾,並且每次啟動也會有延時。
Charles主要功能非常豐富,包括:
- 截取 HTTP 和 HTTPS 網絡協議
- 支持重發網絡請求,方便后端調試
- 支持修改網絡請求參數
- 支持網絡請求的截獲並動態修改
- 支持模擬網絡
下載安裝包
去 Charles 的官網,下載這個工具的安裝包:https://www.charlesproxy.com/download/
安裝
雙擊這個安裝包,並且一路 next 即可完成安裝。
運行軟件
安裝完成之后,找到這個文件的桌面快捷方式 ,,雙擊打開即可運行軟件。
打開即可看到如上圖的界面。
設置代理
如開頭講到的,Charles 是通過將自己設置為電腦或者瀏覽器的代理從而達到抓包的目的的。所以設置代理是在菜單欄【Proxy】—【windows Proxy】,勾選即可。
設置為代理之后,就可以開始抓取數據包了。
視圖
從工具打開后的主頁面可以發現,Charles 主要提供兩種查看封包的視圖,分別名為 “Structure” 和 “Sequence”。
- Structure 視圖將網絡請求按訪問的域名分類。
這種視圖我個人認為非常方便閱讀和查找數據報文,因為同一個域名的所有新增請求都會添加到這個域名類中,而不會因為數據包過多而導致不方便查找的問題。
過濾數據包
Charles 也考慮到了數據包過多不方便查找的問題,所以提供了網絡請求過濾功能。通過過濾監控指定服務器的請求。
要設置 Charles 數據包的過濾,有三種方法:
方法一:在主界面的中部的 Filter 欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:http://www.lemfix.com/ , 那么只需要在 Filter 欄中填入"lemfix'即可。回車后即可過濾出對應的數據包。
方法二:抓完包之后,在想過濾的網絡請求上右擊,選擇 “Focus”,之后在 Filter 一欄勾選上“Focus” 一項,如下圖所示:
這樣可以快速地過濾出去一些不關心網絡請求(收起到 other hosts 里),只顯示我選中的數據包。
方法三:在 Charles 的菜單欄選擇 “Proxy”–>“Recording Settings”,然后選擇 Include 欄,點擊“add”新增加一個項目,然后填入需要監控的協議(如 http),主機地址(想過濾的域名或者 IP),端口號。配好之后,點擊 OK。這樣就可以只截取目標網站的封包了。如下圖所示:
通常情況下,第一、二種方法可以用於臨時性包過濾,如果有些服務器是你經常性訪問的,可以用方法三設置為常規過濾規則。
經過以上的步驟,就可以使用 Charles 工具開始愉快的抓包了!
作者:tricy
鏈接:http://testingpai.com/article/1595507308724
來源:測試派
協議:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
-
Sequence 視圖將網絡請求按訪問的時間排序
這個視圖跟其他的抓包工具就基本類似了。這種視圖的一個弊端就是數據包過多會不太方便查找。