《爆肝整理》保姆級系列教學-玩轉Charles抓包神器教學(16)-Charles其他騷操作之大結局

2023-05-04 12:01:17

1.簡介

今天就說一些Charles的其他操作、以及抓包跨域的問題和常見的問題如何解決。到此Charles這一系列的文章也要和大家說再見了,其他什麼小程式、Android7.0等等的問題可以檢視宏哥的Fiddler系列文章,只不過是將Fiddler換成Charles而已。

2.模擬403/404

其實之前在過濾請求中,宏哥已經介紹過White List...(白名單)剛好和這個介紹的相反Block List(黑名單),顧名思義就是設定後,就會被關進小黑屋,昏天暗地不見陽光。而在Charles這裡將ip或者域名加入黑名單後,伺服器返回的響應結果被Charles攔截不返回,就會出現403或者404,具體操作步驟如下:

1.選單欄選擇 「Tools」->」Block List...」,如下圖所示:

2.設定允許啟用黑名單功能,選擇介面返回錯誤的形式(404 或者403),新增介面地址並儲存,如下圖所示:

注:【blocking action】 選項可以選擇「Drop connection」或者 「Return 403 response」.前者介面會直接返回404錯誤,後者介面返回403錯誤

3.選中需要返回404/403的介面,點選【Ok】,如下圖所示:

4.再次請求效果如下(介面返回403),如下圖所示:

 

5.再次請求效果如下(介面返回404),如下圖所示:

不用將其刪除(Remove)或者不勾選啟用黑名單即可。

3.遮蔽web網頁的抓包資訊

應用場景:遮蔽web網頁的抓包資訊

proxy-->windows proxy(前面沒有對勾,就不會抓到 PC瀏覽器的包)

proxy-->macOS proxy(mac電腦)

4.Charles跨域

1.解決跨域問題,1.選單欄選擇 「Tools」->」Rewrite」。如下圖所示:

2.勾選啟用重寫,新增左邊重寫。如下圖所示:

3.編輯名稱和新增需要重寫的請求,如下圖所示:

4.點選下面的新增,加Access-Control-Allow-Origin、access-control-allow-credentials(true),其他響應頭引數視情況而定

5.設定完畢以後,重寫頁面如下,點選應用,確定。設定完畢,重新發起請求,會直接響應本地資料。如下圖所示:

5小結

Charles其實是一款代理伺服器,通過成為電腦或者瀏覽器的代理,然後擷取請求和請求結果達到分析抓包的目的。該軟體是用Java寫的,能夠在Windows,Mac,Linux上使用。開發iOS都在Mac系統上吧,安裝Charles的時候要先裝好Java環境。這麼好的軟體不是免費的,官網要好幾十刀呢,我這裡有一個Mac上的**版,點選這裡下載,當然不是最新版的。如果你想體驗最新版,Charles是提供試用的。

Charles主要功能

支援SSL代理。可以擷取分析SSL的請求。
支援流量控制。可以模擬慢速網路以及等待時間(latency)較長的請求。
支援AJAX偵錯。可以自動將json或xml資料格式化,方便檢視。
支援AMF偵錯。可以將Flash Remoting 或 Flex Remoting資訊格式化,方便檢視。
支援重發網路請求,方便後端偵錯。
支援修改網路請求引數。
支援網路請求的截獲並動態修改。
檢查HTML,CSS和RSS內容是否符合W3C標準。

Charles系列的使用教學到這裡也要和大家說再見了,感謝大家這段時間支援和學習以及一路的陪伴。再次感謝大家讀者朋友期待其他系列與宏哥再見。

6.常見問題解決

1 . 手機無法抓包的問題

檢查是否設定好代理IP,埠號

檢查是否與電腦在同一個區域網

檢查是否關閉防火牆,代理,FQ軟體

彈出詢問點選「allow」或者「deny」時,誤點「deny」,關閉charles重啟,手機再次瀏覽則會重新彈出詢問

2 . 解決request和response資訊中的中文亂碼問題

方法一 :修改charles windows版本安裝目錄下也有一個Charles.ini的組態檔

修改後的組態檔 新增-Dfile.encoding=UTF-8即可。

通過以上方法就可以解決Request和Response的中文亂碼問題了。

3.設定代理後,瀏覽器打不開網頁

瀏覽器--設定--開啟代理設定--區域網設定--去除代理伺服器下圖選項後-確定