Charles抓包工具测试实战
目錄
- 一.Charles簡介
- 二.Charles安裝與配置
- (1)Charles安裝
- (2)Charles組件介紹
- (3)Charles設置
- ①代理設置(先在“局域網設置”中設置代理服務器的地址和IP)
- ②訪問控制
- (4)客戶端設置
- Windows代理設置
- IOS手機代理設置
- Android手機代理設置
- 三.Charles實戰
- (1)問題分析
- 1.抓包分析問題-1
- 2.抓包分析問題-2
- 3.抓包分析問題-3
- (2)https抓包
- Windows證書配置
- iOS證書配置
- Charles https代理配置
- (3)弱網測試
- Charles流量配置
- 弱網測試實例
- (4)斷點調試
- 斷點調試實例
作用:
①用Charles來分析前后端的問題;
②用Charles模擬弱網測試環境;
③用Charles的斷點構建異常的測試場景
④支持HTTP及HTTPS代理
⑤支持流量控制
⑥支持接口并發請求
⑦支持重發網絡請求
⑧支持斷點調試
一.Charles簡介
它是一款基于http協議的代理服務器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結果達到分析抓包的目的。
工作原理:
1.需要運行Charles并配置代理(前提)
2.在客戶端上面需要配置代理(前提)
3.由客戶端發送請求
4.Charles接收再發送給服務端
5.服務端返回請求結果給Charles
6.由Charles轉發給客戶端
特點:跨平臺,半免費【使用30分鐘之后會強制退出】
優點:(對比Fiddler的優點)
Charles能夠支持Linux、macOS,Fiddler只支持Windows;
Charles支持按域名和按接口查看報文,簡潔明了;
Charles支持反向代理;
Charles網絡限速可選擇網絡類型;
Charles可以解析AMF協議
二.Charles安裝與配置
(1)Charles安裝
下載地址鏈接: charles下載
雙擊安裝目錄中的exe文件打開Charles
(2)Charles組件介紹
(3)Charles設置
①代理設置(先在“局域網設置”中設置代理服務器的地址和IP)
②訪問控制
(4)客戶端設置
Windows代理設置
IOS手機代理設置
①在IOS手機中選擇“設置”-“無線局域網”
②點擊已連接的無線網絡名稱
③在HTTP代理的配置代理中選擇“手動”
④輸入服務器IP地址及端點,點擊“存儲”
Android手機代理設置
①在Android手機中選擇“設置”-“WLAN”
②長按已連接的無線網絡名稱,點擊“修改網絡”
③勾選“顯示高級選項”
④在代理選擇項中選擇“手動”
⑤輸入服務器IP地址及端口,點擊“存儲”
三.Charles實戰
(1)問題分析
是前端的問題還是后臺的問題呢?
1.抓包分析問題-1
在人事管理系統中修改員工的信息時,如果員工姓名超長會產生以下兩個問題:
問題一:會提示“系統繁忙”
問題二:會顯示兩次提示信息
2.抓包分析問題-2
實施步驟:Charles代理配置 —— 客戶端代理配置 —— 操作客戶端軟件 —— 分析請求數據
3.抓包分析問題-3
問題一:提示“系統繁忙”的信息是由后臺返回的,所以此問題是后臺開發代碼的問題
問題二:會顯示兩次提示信息,但后臺只返回一個請求結果,所以此問題是前端開發的問題
(2)https抓包
亂碼:如何解決?需要安裝SSL證書
Windows證書配置
1.打開Charles,選擇“help” —— “SSL proxying” —— “install Charles Root Certificate”
2.在打開的證書框中,點擊“安裝證書”,選擇“本地計算機”,點擊“下一步”
3.選擇“將所有證書都存放下列存儲”,再點擊瀏覽
4.選擇“受信任的根證書頒發機構”,點擊“確定” —— “下一步” —— “完成”
iOS證書配置
1.在電腦上運行Charles,且iOS手機設置好代理,在瀏覽器中地址欄輸入:http://charles.proxy.com/getssl
2.進行下載安裝
3.返回到“通用”界面,選擇“關于本機”
4.點擊“證書信任設置”,啟用Charles proxy CA證書并確認
Charles https代理配置
步驟一:在Charles窗口點擊菜單“proxy” —— “SSL proxying setting”
步驟二:在打開的設置窗口中勾選“Enable SSL Proxying”
步驟三:添加Location時,將Host與Port同時設置為*
步驟四:點擊“OK”
然后清除已抓到的包,重新訪問路徑再重新抓包就不會亂碼了
(3)弱網測試
Charles流量配置
1.在Charles窗口中點擊菜單“proxy” —— “Throttle Setting”
2.在打開的設置窗口中勾選“Enable Throtting”
3.在“Throttle preset”下拉框中選擇對應的網絡類型
4.點擊“OK”
弱網測試實例
將Charles的網絡流量配置成56K modem的網絡,查看人力資源網站的員工菜單打開情況?
先在不設置網絡的正常情況下查看網站的打開情況,然后再設置網絡查看網站的打開情況,兩者進行比較【從時間分析,從頁面展示狀態分析】
(4)斷點調試
作用:用來構建異常的測試場景
1.右擊接口鏈接,選擇“Breakpoints”
2.在瀏覽器刷新對應接口的頁面
3.此時會自動跳轉到Charles并顯示出接口請求信息
4.點擊“Edit Request”,修改請求的信息,點擊“Execute”
5.點擊“Edit Response”
6.在數據格式欄中選擇合適的顯示格式,比如“Json”
7.修改對應的數據,點擊“Execute”
8.回到瀏覽器查看數據應該為修改之后的Response的信息
斷點調試實例
場景一:在人事管理系統中增加角色時,把角色名設置為空,然后請求到服務器
數據為空都能添加成功,說明后臺代碼有問題
場景二:針對查詢員工接口請求時,修改返回數據success=false,code=999,message=操作失敗
修改返回結果之后,網頁報錯,數據無法展示,可以判斷為正常
總結
以上是生活随笔為你收集整理的Charles抓包工具测试实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信测试无法抓包问题
- 下一篇: 请用shell脚本写出查找当前文件夹(/