日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Charles使用1

發布時間:2024/10/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Charles使用1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Charles是一款比較常用的全平臺的網絡封包街區工具,而我們在做移動開發的時候,我們為了調試、測試、分析等目的,經常需要和服務端的網絡通訊協議打交道。Charles可以幫我們截取網絡數據包來進行分析。
Charles通過將軟件本身設置成系統的網絡訪問代理服務器,使得所有的網絡請求都會走一邊Charles代理,從而Charles可以截取經過它的請求,然后我們就可以對其進行網絡包的分析。
用到的功能:

  • 1.截取http和https網絡包
  • 2.支持重發網絡請求,方便后端調試
  • 3.支持修改網絡請求參數
  • 4.支持網絡請求的截取以及動態修改請求響應結果。
  • 5.支持模擬限流網絡

    1.Charles的基本界面



1.1.structure視圖

structure視圖將網絡請求按請求的域名進行分類,將同域名的請求進行分類。

所有的請求是以域名進行分類顯示的,可以讓我們更關注同域名下的請求。當次域名下有接口連接被請求了,會閃一下,這樣就可以讓我們發現哪些域名下的數據正在被請求。

1.2.sequence視圖

sequence視圖模式下,會將所有的網絡請求都按照訪問的時間從上到下進行排序。

和structure一樣,很直觀的自暗示當前的請求連接、請求數據、響應數據等情況。因為這是按請求的先后順序進行有序的排列,Charles同時也提供了一個過濾請求的地方,可以通過它來簡單的過濾我們需要的請求再進行查看。

對于某一個具體的網絡請求,Charles提供了詳細的請求內容和響應內容,將發送的數據和顯示的數據顯示出來,對于一些常見的數據格式,Charles還提供了一些格式化的操作,例如json內容,可以切換到json標簽下,它會按照json的格式進行格式化,方便我們閱讀和查看,而圖片的請求也會在Charles中顯示縮略圖的預覽。

2.網頁抓包

啟動Charles后,需要將Charles設置為系統代理,選擇菜單中proxy——MacOS來講Charles設置系統代理。

然后你會發現,通過瀏覽器的請求都會被抓取。

3.截取移動設備的網絡封包

Charles通常本身是可以直接截取本機上的網絡封包的,但移動設備上的網絡請求同樣也需要去抓取,例如iPhone Android設備等。

3.1Charles對應設置

將代理功能打開,并設置一個固定的端口號。默認8888
proxy-proxy settings,查看當前或者修改當前代理端口,并保證Enable transparent HTTP proxying被勾選。

3.2手機上的設置

查看本機ip地址和Charles監聽的端口號

方法1:使用help-local IP address

方法2: ifconfig en0

打開手機Wi-Fi,填入IP和端口號

3.3截取https的網絡封包

app內使用https是非常常見的。正常情況下,Charles是不能截取到https的網絡包的。這設計到https的證書問題。
使手機可以抓取到https協議,需要安裝Charles的CA證書。
步驟:

  • 1.在Mac上安裝CA證書。通過頂部菜單選擇:help——SSL Proxying——install Charles Root Certificate,來安裝CA證書。
  • 2.iPhone和Android手機,安裝證書
    android手機請查看該帖
  • 3.在需要截取https的請求上,選擇Enable SSL Proxying。

完成上面的步驟依然抓取不了https的網絡包。主要的原因在于:CA證書需要被MacOs信任。
其他-鑰匙串訪問,查看CA證書

4.過濾

方法一:在Charles的菜單欄選擇Proxy——recording settings,然后選擇include欄,選擇add,然后填入需要監控的協議,主機地址,端口號,如下圖

方法二:在一個網址上右擊,選擇Focus,然后其他的請求就會被放到Other Hosts的文件夾里面,這樣也達到了過濾的目的。

5.模擬弱網

有時候在測試的時候我們想要模擬一下網絡慢的情況,這時候Charles他是可以幫助到你的,在Proxy->Throttle Setting,然后選擇Enable Throttling,在Throttle Preset下選擇網絡類型即可,具體設置你可以自行拿捏。

如果我們只想模擬指定網站的慢速網絡,可以再勾選上圖中的 “Only for selected hosts” 項,然后在對話框的下半部分設置中增加指定的 hosts 項即可。

6.修改網絡請求

有些時候為了調試服務器的接口,我們需要反復嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能。只需要選中以往的網絡請求,工具欄中點擊 “Edit”,即可創建一個可編輯的網絡請求。如下所示:

get
put
post
head
trace
delete
options

7.給服務器做壓力測試

我們可以使用 Charles 的 Repeat 功能來簡單地測試服務器的并發處理能力,方法如下:
我們在想打壓的網絡請求上(POST 或 GET 請求均可)右擊,然后選擇 「Repeat Advanced」菜單項,如下所示:

8.斷點

在Charles發起一個請求的時候,我們是可以給某個請求打一個斷點的,然后來觀察或者修改請求或者返回的內容,但是在這過程中要注意請求的超時時間。
要針對某一個請求設置斷點,只需要在這個請求網址右擊選擇Breakpoints,然后點擊斷點按鈕,就可以斷點某一個請求了。

參考出處:http://blog.devtang.com/2015/11/14/charles-introduction/
https://testerhome.com/topics/15117

FAQ

1.亂碼問題未解決

3.1以下版本,首先到去 http://www.charlesproxy.com/ssl.zip 下載CA證書文件。雙擊crt文件,選擇總是信任就可以了。
https://www.cnblogs.com/mrjade/p/7677051.html

2.Firefox在添加*:443后不能連接網絡的問題


安裝CA證書后保存為.cer文件


firefoxs——首選項——隱私與安全——查看證書



再次訪問百度,可以正常訪問。

轉載于:https://www.cnblogs.com/csj2018/p/9920399.html

總結

以上是生活随笔為你收集整理的Charles使用1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。