抓包工具Charles基本用法
我們在進行B/S架構的Web項目開發時,在前端頁面與后臺交互的調試的時候,通常使用在JSP中加入“debugger;”斷點,然后使用瀏覽器的F12開發者工具來查看可能出錯的地方的數據。或者使用HttpWatch來抓包分析。
在開發移動端項目沒有網頁的情況下,就不能通過這種方式抓取數據進行分析了。這時可以使用Charles滿足以上要求。Charles是一款Http代理服務器和Http監視器,當移動端在無線網連接中按要求設置好代理服務器,使所有對網絡的請求都經過Charles客戶端來轉發時,Charles可以監控這個客戶端各個程序所有連接互聯網的Http通信。
一、安裝Charles客戶端
打開瀏覽器訪問Charles官網https://www.charlesproxy.com/,下載相應系統的Charles安裝包,然后一鍵安裝即可。
?
Charles提供兩種查看封包的頁簽,一個是Structure,另一個是Sequence,Structure用來將訪問請求按訪問的域名分類,Sequence用來將請求按訪問的時間排序。任何程序都可以在Charles中的Structure窗口中看到訪問的域名。
?
二、Charles常用功能
Charles功能十分強大,這里介紹幾個開發中常用的功能。
1、抓取移動設備發送的Http請求
先將移動設備連接到Charles客戶端。首先在電腦中輸入cmd打開命令行窗口,輸入ipconfig查看本機連接無線網絡的IP地址,這個地址作為移動設備連接Charles客戶端的代理地址,移動設備必須要和計算機在同一網絡中才能連接上。打開Charles客戶端,點擊Proxy->Proxy Settings菜單,可以設置移動設備連接到Charles的端口,這樣移動設備代理配置需要的ip地址和端口號都有了。Charles是通過將自己設置成代理服務器來完成抓包的,勾選系統代理后,本地系統(如果通過瀏覽器發送請求)發送出去的請求都能被截取下來。因此,如果想只抓取手機APP發送的請求的話,可以不勾選WindowsProxy選項,這樣在測試時就不會被本機Http請求所干擾。
另外,如果想要抓取瀏覽器發送的請求包,勾選WindowsProxy選項之后還是抓取失敗,可能是瀏覽器沒有設置成使用系統的代理服務器,只要設置成使用系統的代理服務器,或者將瀏覽器的代理服務器設置成127.0.0.1:8888也可以成功。
?
移動設備配置之后,第一次通過手機訪問手機中的發送請求時,Charles會彈出提示框,提示有設備嘗試連接到Charles,是否允許,如果不允許的話,手機發送請求失敗,點擊Allow允許,這樣這個設備的IP地址就會添加到允許列表中,如果錯誤點擊了Deny可以重啟Charles會再此提示,或者通過Proxy->Access Control Settings手動添加地址,如果不想每個設備連接Charles都要點擊允許的話,可以添加0.0.0.0/0允許所有設備連接到Charles。
?
2、過濾不必要的網絡包
在抓取手機發送的請求時,有許多請求包是對圖片等不需要關注的資源的請求,我們只想對指定目錄服務器上發送的請求進行抓取,這時候就可以通過過濾網絡包的方式實現。有兩種實現方式:
1)選擇Proxy->Recording Settings菜單,然后在include欄添加需要抓取包的指定服務器請求協議、地址、端口號,也可以在exclude欄添加不抓取包的地址。
?
2)在Sequence界面的Filter欄中填入需要過濾的關鍵字。
?
3、代理轉發
我們在進行本地開發功能的測試時,可以將手機請求的地址轉發到本機地址的程序進行執行。右鍵選擇Map Remote,配置請求轉發的地址。
?
并選擇Tools->Map Remote Settings菜單,勾選配置的轉發條目。
?
也可以右擊選擇Map Local配置請求映射到本機地址。
?
4、抓取Https請求
Charles默認情況下是抓取不到Https請求的包的,需要進行配置安裝證書。選擇Help->SSL Proxying->Install Charles Root Certificate,
?
點擊下一步,
?
然后繼續下一步直到導入成功,
?
選擇Help->SSL Proxying->Install Charles Root Certificate on aMobile Device or Remote Browse菜單,
?
手機根據提示地址、端口號配置號代理后,瀏覽器打開http://chls.pro/ssl,
?
選擇允許,
?
安裝證書,然后配置Proxy->SSL Proxying Settings,添加要抓取的Https請求,
?
如果不使用Charles,想要刪除手機里面的證書,可以通過手機中的設置->通用->描述文件與設備管理,刪除指定的證書即可。
轉載于:https://www.cnblogs.com/valu/p/9600357.html
總結
以上是生活随笔為你收集整理的抓包工具Charles基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。