Charles抓包方法


如果是mac在使用前需要點一下macOS proxy

抓包的作用:

抓包能看到所有發出去的請求,能幫助我們定位問題,看看是后端接口出現的問題,還是前端有問題:如果接口返回的都是對的就是前端的問題,如果接口返回異常就 是后端接口有問題

http請求抓取:

怎么抓手機上的包

1、確定你的電腦和你的手機在一個局域網里面

2、手機設置代理:

在wifi那里配 置代理選擇手動服務器那里設置自己電腦IP端口號設置8888

一百種charles連接不上手機的處理方式

1、檢查電腦和手機有沒有連接的同一個wifi,必須tm連接的一個網

2、更換charles和移動端設備的端口,默認是8888,可以改成其他的試試

3、有可能路由器設置的ap間不能相互訪問,需要登錄路由器,需要登錄路由器。進行求改。把用戶間訪問的對勾勾上。類似於這樣

4、關閉電腦的防火牆。試試 首先,如果,防火牆關了還是不行,那么請把手機wifi斷掉后重新連接,這樣一般就可以解決問題了。 如果以上方法還是不行的話,那么請將手機wifi位置的ip地址設置成靜態ip,然后重啟charles工具。

5、在charles上添加手機的ip試試

查看charles端口號:

3、ipconfig,查看自己電腦的ip地址

4、手機通過設置http代理服務器,連接到電腦

  服務器輸入電腦的ip

  端口和charles的端口一致,

 

5、此時charles會給出提示。有新的連接。點擊allow

6、連接成功,此時手機發送的內容,charles可以抓到。

然后如果勾選了Proxy - Windows Proxy 的話,那么就會將電腦上的抓包請求也抓取到,如果只抓手機的話,可以將這個設置為不勾選。

 

怎么在模擬弱網測試 

什么樣的網絡屬於弱網

低於2G速率的時候都屬於弱網,3G也可划分為弱網,一般Wi-Fi不划入弱網測試范疇。

charles模擬弱網  proxy => throttle settings

配置參數解析:
bandwidth —— 帶寬,即上行、下行數據傳輸速度
utilisation —— 帶寬可用率,大部分modern是100%
round-trip latency —— 第一個請求的時延,單位是ms。
MTU —— 最大傳輸單元,即TCP包的最大size,可以更真實模擬TCP層,每次傳輸的分包情況。
Releability —— 指連接的可靠性。這里指的是10kb的可靠率。用於模擬網絡不穩定。
Stability —— 連接穩定性,也會影響帶寬可用性。用於模擬移動網絡,移動網絡連接一般不可靠。

方法二:chrome的webview調試工具弱網模擬

使用chrome的webview調試工具,缺點是只適用於web頁面的弱網模擬。
具體步驟:
(1)應用打開webview調試功能,具體如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WebView.setWebContentsDebuggingEnabled(true);
}
(2)手機鏈接電腦,運行APP,進入具體H5頁面;
(3)chrome的DevTools中打開Webview:進入chrome://inspect/#devices,會顯示已經連接設備,選中待調試webview的inspect
network頁面,No throttling下拉框,可以進行網絡模擬。

 

怎么攔截請求

6、charles http 攔截(Breakpoints)
在Sequence 這攔,選擇要攔截的接口,右擊 -> Breakpoints 以后的請求和響應分別攔截一次跳到改數據內容頁面。
按鈕說明:

cancel 跳過不改
abort 丟棄
excute 執行(修改后點擊)

 2、在瀏覽器中刷新該頁面,Charles會跳轉到Breakpoints列表

 3、篡改請求信息后,點擊底部Execute按鈕

 

4、返回瀏覽器查看服務器返回結果,返回的頁面信息為http://www.nnzhp.cn/archives/category/python,而不是用戶真正請求的http://www.nnzhp.cn/

篡改服務器響應結果【可以用來模擬移動端的接口返回異常的情況】

1、設置Breakpoints,將請求信息攔截,然后什么都不改,跳轉到如下界面:

3、點擊Text,修改返回信息,點擊Execute

4、返回瀏覽器查看頁面,展示信息如下

 給請求加參數

對需要加參數的頁面進行攔截,然后刷新,到breakpoints頁面點擊ADD,添加需要添加的參數,點擊Execute

然后等charles返回,返回帶有參數,如下圖:

抓Https的包

1. 安裝charles ca證書
1.1 選擇 help | Install Charles CA SSL Certificate

1.2 然后會彈出證書信息,選擇安裝證書,下一步,將證書存儲改為:受信任的根證書頒發機構,下一步,完成

2. 修改charles的proxy settings
2.1 選擇Proxy | Proxy Settings,彈出proxy設置選項卡,勾選Enabling transparent HTTP proxying

2.2 選擇ssl,勾選Enable SSL Proxying,在Location部份選擇add,按如下圖添加,抓取任意站點、443端口的數據

 這個時候去抓https://googleads.g.doubleclick.net/pagead/html/r20181107/r20180604/zrt_lookup.html返回200就正確了!

URL映射 (把一個地址的請求轉發到另一個地方)

用途:比如線上有個bug需要驗證,可以用線上的APP往線下發請求

訪問http://www.nnzhp.cn時向http://www.cc-na.cn/這個發請求

瀏覽器展示如下:

 

選擇Map Local,映射到本地你保存的文件上面

選擇map local 是返回本地文件內容

 

 瀏覽器展示如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM