若是是mac在使用前須要點一下macOS proxyhtml
抓包的做用:前端
抓包能看到全部發出去的請求,能幫助咱們定位問題,看看是後端接口出現的問題,仍是前端有問題:若是接口返回的都是對的就是前端的問題,若是接口返回異常就 是後端接口有問題python
http請求抓取:web
怎麼抓手機上的包chrome
一、肯定你的電腦和你的手機在一個局域網裏面後端
二、手機設置代理:瀏覽器
在wifi那裏配 置代理選擇手動服務器那裏設置本身電腦IP端口號設置8888服務器
一百種charles鏈接不上手機的處理方式網絡
一、檢查電腦和手機有沒有鏈接的同一個wifi,必須tm鏈接的一個網工具
二、更換charles和移動端設備的端口,默認是8888,能夠改爲其餘的試試
三、有可能路由器設置的ap間不能相互訪問,須要登陸路由器,須要登陸路由器。進行求改。把用戶間訪問的對勾勾上。相似於這樣
四、關閉電腦的防火牆。試試 首先,若是,防火牆關了仍是不行,那麼請把手機wifi斷掉後從新鏈接,這樣通常就能夠解決問題了。 若是以上方法仍是不行的話,那麼請將手機wifi位置的ip地址設置成靜態ip,而後重啓charles工具。
五、在charles上添加手機的ip試試
查看charles端口號:
三、ipconfig,查看本身電腦的ip地址
四、手機經過設置http代理服務器,鏈接到電腦
服務器輸入電腦的ip
端口和charles的端口一致,
五、此時charles會給出提示。有新的鏈接。點擊allow
六、鏈接成功,此時手機發送的內容,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調試工具,缺點是隻適用於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下拉框,能夠進行網絡模擬。
怎麼攔截請求
六、charles http 攔截(Breakpoints)
在Sequence 這攔,選擇要攔截的接口,右擊 -> Breakpoints 之後的請求和響應分別攔截一次跳到改數據內容頁面。
按鈕說明:
cancel 跳過不改
abort 丟棄
excute 執行(修改後點擊)
二、在瀏覽器中刷新該頁面,Charles會跳轉到Breakpoints列表
三、篡改請求信息後,點擊底部Execute按鈕
四、返回瀏覽器查看服務器返回結果,返回的頁面信息爲http://www.nnzhp.cn/archives/category/python,而不是用戶真正請求的http://www.nnzhp.cn/
篡改服務器響應結果【能夠用來模擬移動端的接口返回異常的狀況】
一、設置Breakpoints,將請求信息攔截,而後什麼都不改,跳轉到以下界面:
三、點擊Text,修改返回信息,點擊Execute
四、返回瀏覽器查看頁面,展現信息以下
給請求加參數
對須要加參數的頁面進行攔截,而後刷新,到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 是返回本地文件內容
瀏覽器展現以下: