前邊幾篇宏哥介紹了Charles介面內容以及作用。今天宏哥就講解和分享如何設定Charles後,我們就可以愉快地捕獲對談,進行抓包了。因為上一篇許多小夥伴看到宏哥的Charles可以分開看到request和response,而自己的卻看不到,因此有點蒙,有點疑惑。同樣的版本顯示的介面卻是不一樣的,私信問宏哥在哪裡下載的,不用疑惑,不用問,宏哥也是在官網下載的。因此在介紹之前,首先解決一下上一篇小夥伴或者童鞋們私下問宏哥的問題:如何設定顯示request和response?。
1.啟動Charles後,點選Edit — Preferences ,如下圖所示:
2.彈出設定介面,點選Viewers,取消Combine request and response前面的勾選,如下圖所示:
3.點選OK儲存,如下圖所示:
4.點選確定,檢視請求的request和response ,如下圖所示:
若想檢視request的請求頭和請求資料,也可將第2步中的Combine header and body viewers前面的勾選取消,如下圖所示:
檢視request的請求頭和請求資料,如下圖所示:
常見的捕獲對談的裝置分為PC(電腦)端——web抓包和手機(Android和IOS蘋果)端——APP抓包。
電腦端我們一般抓取的都是web網站請求和響應資訊。那麼我們看一下如何設定進行抓包。
Charles Web抓包非常簡單,啟動Charles會自動與瀏覽器設定成代理,不需要進行過多的設定,接下來我就就是通過瀏覽器傳送網路請求,Charles就會直接抓取到這些資訊和響應資訊,如下圖所示:
細心地小夥伴或者童鞋們從上圖可以看到宏哥的圖中抓取的是http協定的web網址,因為宏哥的Charles還沒有設定如果抓取https協定的web網址,會報一些錯誤導致演示不成功,因此宏哥使用http協定的網址進行演示。Charles抓包不僅僅可以抓取來在電腦端的HTTP請求,也能夠抓取來自App發出的HTTP請求,但是手機抓包需要在電腦端設定下,並且同時需要手機和電腦在同一網路下。
1.啟動安裝好的Charles抓包工具。
2.檢視電腦IP地址。
方法一: 開啟」執行」(快捷鍵:win+R鍵;或者在工作列的」搜尋」按鈕中查詢並點選」執行」),輸入「cmd」後進入命令列視窗,在命令列視窗中輸入」ipconfig」命令檢視IP ,如下圖所示:
方法二: 在charles中檢視 :Help -> Local IP Address ,如下圖所示:
3.點選【Proxy】–>【Proxy Settings】我們在設定下埠號「9999」(Charles和Fiddler一樣預設的埠也是8888)。宏哥這裡是為了避免Charles和Fiddler想要同時啟用都用8888這個埠引起埠衝突的問題,所以提前設定成9999。如下圖所示:
4.點選Proxy-->Proxy Settings,勾選「Enabling transparent HTTP proxying」,點選「OK」,其實這一步設定不設定都可以,宏哥試了一下,對抓取http包不影響,當然了就更不會影響https包的抓取了。如下圖所示:
(1)Android手機
手機上進行設定:同一個wifi下設定代理,安卓應該是長按連線的WIFI,點選「修改網路」。填寫伺服器地址:計算機的IP(192.168.0.163),埠8888;如下圖所示:
(2)iOS手機
1.開啟手機的設定頁面;選擇【無線區域網】,如下圖所示:
6.接下里驗證下手機請求,當我們看到Charles裡能抓到這個連線,就說明設定沒問題,看到unknown,這個不要緊,那是我們沒有安裝針對手機端的證書,手機端HTTPS證書安裝宏哥後邊會有詳細介紹,這裡簡單說明一下原因一筆帶過,其實和Fiddler差不多,一樣的思路,但是此時應該是可以抓取Http協定的包的。
好了,今天就簡單的說明一些設定和技巧,後邊關於手機端,宏哥會單獨列出章節進行詳細講解。小夥伴或者童鞋們在這裡先入入門有個印象就好。