手把手教你用Charles抓包

本文首發於公衆號「AntDream」,歡迎微信搜索「AntDream」或掃描文章底部二維碼關注,和我一塊兒天天進步一點點服務器

平常開發過程當中不免要進行抓包,查看服務端返回的數據是否正常,而Charles可謂是抓包利器了。微信

下載安裝地址:www.charlesproxy.com/網絡

原理淺析

配置好之後,Charles實際上讓電腦成了一箇中間代理服務器,咱們手機上的全部請求都會通過電腦,被Charles攔截,而後Charles把本身假裝成手機向咱們的遠程服務器地址發送請求,因此Charles能記錄咱們發送的請求信息;工具

而等服務端響應請求時,其實是響應了Charles的請求,Charles得到服務端的請求之後,又轉發給咱們的手機,因此Chaerles能得到服務端響應的詳細信息。spa

使用Charles

普通http抓包

安裝好Charles後啓動,咱們就能看到不少的請求信息了,由於Charles啓動的時候默認是抓取Mac的全部網絡請求的:3d

image

若是要關掉,能夠在頂部菜單欄Proxy-->macProxy勾選去掉代理

那咱們要抓手機應用的網絡請求呢?code

首先咱們須要讓手機的全部網絡請求都通過裝有Charles的Mac電腦,要達到這個效果只須要給手機的網絡設置一個代理,代理IP就是Mac的IP,代理的端口就是Charles中設置的端口cdn

貼心的是,Charles還提供了查詢本機IP的工具:頂部菜單help-->Local IP Address,就能很方便的獲取本機的IP地址blog

image

拿到電腦的IP地址之後,咱們還須要知道代理的端口,Charles默認的端口是8888,這個也能夠查看和設置。打開頂部菜單Proxy-->Proxy Setting

image

接下去就是設置手機的網絡代理了,設置方式也很簡單。

  • 打開手機當前鏈接的WI-FI詳情頁,能夠找到一個代理的選項
  • 而後選擇手動,就會出現主機名端口的選項,分別填入上面查到的IP地址和端口號保存便可
  • 這時電腦端的Charles就會彈出一個提示,大意是選擇是否監聽抓包之類的,選擇Allow便可

記過以上簡單幾步,charles就能抓手機的包了。

Https抓包

如今不少了網頁連接都是Https的了,而上面的設置只能抓Http的請求。要想抓Https請求,咱們還須要幾步設置才行。

Https的一個特色是請求時會校驗證書,而從文章開頭咱們簡單介紹的charles的原理中咱們也能大概知道,只須要在Http抓包的基礎上增長一個Https的證書就能夠實現Https抓包了。這個Https證書包括2個:

  • 一個是Charles自己須要配置一個Https證書,這樣Charles才能和服務端正常的通訊
  • 再一個就是手機端的Https證書了,這樣手機才能和Charles正常通訊
  • 實際上,至關於Charles從普通的Http代理服務器變成了Https服務器
(1)Charles安裝Https證書

首先打開頂部Charles菜單:Help-->SSL Proxying,能夠看到有不少選項

  • 選擇Install Charles Root Certificate,也就是安裝Charles的根證書
  • 在打開的鑰匙串裏面,選擇Charles Proxy CA,雙擊打開,選擇始終信任便可

image

(2)手機安裝Https證書

仍是上面的同一個菜單入口,此次就要根據手機不一樣選擇不一樣了

image

選擇對應手機型號之後,就會出現一個提示框,裏面有下載證書的地址http://chls.pro/ssl,手機上打開對應的連接便可下載安裝

(3)Charles設置

手機安裝好證書之後,打開Charles的菜單:Proxy-->SSL Proxying Settings

通過以上幾步,Charles就能夠進行Https抓包啦!

其餘

使用完Charles之後,手機上記得把代理去掉,否則手機就沒辦法上網了哦


歡迎關注個人微信公衆號,和我一塊兒天天進步一點點!
複製代碼

AntDream
相關文章
相關標籤/搜索