iOS開發抓包工具之Charles使用

  • iOS開發抓包工具之Charles使用已关闭评论
  • A+
所属分类:小ck包包推荐

▲點擊上方“CocoaChina”關注即可免費學習iOS開發


來源:楊社兵的技術博客


在iOS開發過程中,抓包是常見的必備技能之一。這裏我們主要介紹一下Mac下的抓包利器Charles(文中版本:4.0.1)。它可以非常方便的抓取Http/Https請求,從而提高我們的開發效率。本文中不提供破解版安裝使用說明(網上一大堆),建議使用正版,官方dmg下載地址:點擊此處

一、如何抓取Http請求?

(1)安裝完成之後打開Charles,設置端口號:8888(端口號可以自定義)。

選擇“Proxy”菜單下的“Proxy Settings”子菜單。打開“Proxy Settings”對話框:

iOS開發抓包工具之Charles使用

在“Proxy Settings”對話框中設置端口號:8888,並勾選“Enable transparent Http proxying”項:

iOS開發抓包工具之Charles使用

(2)打開“網絡偏好設置”查看電腦IP地址:

iOS開發抓包工具之Charles使用

(3)設置手機網絡(iOS):

iOS開發抓包工具之Charles使用

(4)打開需要抓包的手機APP,初次使用時,Charles會彈出確認對話框,直接點擊”Allow”按鈕后就可以看到對應的請求數據。

溫馨提示:抓完包之後,請把手機WiFi中的HTTP代理關閉。不然可能造成iOS無法訪問網絡。

二、如何抓取Https請求?

(1)電腦安裝SSL證書

選中Charles,在“Help”菜單中選擇—>“SSL Proxying”—>“Install Charles Root Certificate”會自動打開鑰匙串訪問窗口:

iOS開發抓包工具之Charles使用

在“鑰匙串訪問”窗口中找到對應的證書,雙擊打開。設置“使用證書時”項為:始終信任。

iOS開發抓包工具之Charles使用

填寫管理員密碼更新設置。

iOS開發抓包工具之Charles使用

(2)手機安裝證書(使用Safari方式):

請確保手機已經設置好手動代理(具體方式參照上面HTTP抓包設置方式)。

在手機Safari瀏覽器中輸入下面的鏈接地址:http://charlesproxy.com/getssl。手機會自動跳轉安裝“Charles Proxy SSL Proxying”描述文件。如下圖所示:

iOS開發抓包工具之Charles使用

點擊“安裝”按鈕,會提示輸入手機密碼,然後確認安裝。

iOS開發抓包工具之Charles使用

以上便完成手機SSL證書安裝步驟。

(3)在Charles工具欄上點擊設置按鈕,選擇“SSL Proxying Settings…”:

打開“SSL Proxying Settings”對話框:

iOS開發抓包工具之Charles使用

點擊“Add”添加:Host中輸入*表示匹配所有主機。https默認端口號:443。

iOS開發抓包工具之Charles使用

添加完成显示結果如下:

iOS開發抓包工具之Charles使用

(4)測試:

安裝手機證書之前測試結果如下圖所示:

iOS開發抓包工具之Charles使用

安裝手機證書之後測試結果如下圖所示:

iOS開發抓包工具之Charles使用

針對Charles代理訪問https有些正常有些失敗的處理方法(一般https只要打開charles 的”Enable SSL Proxying”代理就能訪問):點擊此處

三、如果沒有Wifi,我們還可以這樣抓包?(本文不做詳解)

(1)抓包之rvictl方式:

開啟虛擬端口:rvictl -s

關閉虛擬端口:rvictl -x

然後使用wireshark來捕捉這個端口數據。

(2)抓包之tcpdump方式:

有個很大的缺點是手機需要越獄。

本文內容中部分來自網絡,後續會不斷更新完善。歡迎一起學習交流!

如需轉載,請註明出處

四、參考博客地址:

Mac上的抓包工具Charles


微信號:CocoaChinabbs

iOS開發抓包工具之Charles使用
▲長按二維碼“識別”關注即可免費學習 iOS 開發

月薪十萬、出任CEO、贏娶白富美、走上人生巔峰不是夢

--------------------------------------

商務合作QQ:2408167315

投稿郵箱:[email protected]