如果是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 是返回本地文件內容
瀏覽器展示如下: