亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                FIddler之Fiddler移動端抓包

                FIddler之Fiddler移動端抓包

                前言

                筆者今天的這篇文章呢,想使用通俗易懂的話語,讓大家明白以下內(nèi)容:

                什么是抓包哪些場景需要用到抓包Fiddler抓包的原理怎樣使用Fiddler進(jìn)行移動端抓包

                一、抓包

                包 (Packet) 是TCP/IP協(xié)議通信傳輸中的數(shù)據(jù)單位,一般也稱“數(shù)據(jù)包”。

                我們平常測試過程中所說的數(shù)據(jù)包其實就是接口請求的數(shù)據(jù),在HTTP請求中,包括請求頭信息、請求內(nèi)容、響應(yīng)頭信息、響應(yīng)內(nèi)容。

                二、什么是抓包

                用特定的工具獲取客戶端與服務(wù)端之間發(fā)送和返回的數(shù)據(jù)包。目的是分析數(shù)據(jù)包的協(xié)議、內(nèi)容等,從而判斷接口的設(shè)計是否符合要求,比如抓包某次請求的請求參數(shù)與響應(yīng)參數(shù),查看參數(shù)是否正確。

                三、哪些場景下需要抓包

                對于初學(xué)者或者沒有接觸過接口測試的同學(xué)而言,可能不太明白做接口測試或者接口自動化測試為什么一定要學(xué)會對接口數(shù)據(jù)進(jìn)行抓包。

                那么在哪些場景下需要抓包獲取請求數(shù)據(jù)呢?

              1. 重現(xiàn)bug,需要截取數(shù)據(jù)定位問題時;
              2. 判斷問題是前端bug還是后端bug時;
              3. 做接口測試,但開發(fā)沒有提供接口文檔時,需要抓包才能獲取接口信息;
              4. 某個功能場景或者某些功能場景我們不知道調(diào)用了哪些接口,或者不知道接口調(diào)用的先后順序時;
              5. 需要修改返回參數(shù)時(用于mock或者別的場景)
              6. 在實際測試過程中,用的最多的場景是1、2、3、4。

                四、Fiddler

                抓包工具有很多種,如Wireshark、Fiddler、Charlse、Tcpdump、瀏覽器工具(F12)等,但在軟件測試工作中抓包對象一般是HTTP協(xié)議的接口,所以最多的是瀏覽器工具、Fiddler/Charlse。

                Fiddler特點簡單歸納如下:

              7. Fiddler能抓取客戶端和服務(wù)器之間的HTTP/HTTPS請求,可以對接口請求設(shè)置斷點,甚至修改輸入輸出數(shù)據(jù)
              8. Fiddler只能抓取HTTP/HTTPS協(xié)議
              9. Fiddler除能對PC端瀏覽器抓包外,還支持對移動端進(jìn)行抓包
              10. 五、Fiddler抓包原理

                通常,我們使用瀏覽器瀏覽網(wǎng)頁,或者使用手機上的APP,交互可以使用以下簡化的流程圖表示:

                客戶端(PC端或移動端) 向服務(wù)端通過發(fā)送HTTP請求進(jìn)行數(shù)據(jù)交互,而我們的需求是,抓取這個交互過程中的數(shù)據(jù)。

                我們只需要在客戶端與服務(wù)端之間加上一個中介,讓它們之間交互的數(shù)據(jù)都通過這個中介,中介記錄這些通過自身的數(shù)據(jù),就能獲取到客戶端與服務(wù)端之間具體的交互數(shù)據(jù)了。

                Fiddler便可以充當(dāng)這個中介角色,交互流程如下:

                啟動Fiddler其實就是啟動了一臺代理web服務(wù)器(Proxy),代理地址為127.0.0.1,端口為8888。只要HTTP請求通過127.0.0.1:8888 (即Fiddler) 進(jìn)行代理發(fā)送與接收,F(xiàn)iddler就會記錄經(jīng)過自身的HTTP請求數(shù)據(jù),便抓取到了HTTP請求的相關(guān)數(shù)據(jù)。

                而怎樣才能使得HTTP請求都通過127.0.0.1:8888進(jìn)行代理?Fiddler啟動時IE瀏覽器的代理會自動設(shè)置127.0.0.1:8888為代理地址,Chrome、Firefox需要在瀏覽器中手動修改,移動端則需要在手機里設(shè)置。

                六、安裝

                進(jìn)入官網(wǎng)下載

                需填寫內(nèi)容可填寫如下,Windows系統(tǒng)點擊【Download for Windows】,點擊后會跳轉(zhuǎn)頁面并開始下載 (沒有的話可以多嘗試兩次) ,如果沒有下載可根據(jù)跳轉(zhuǎn)頁面提示進(jìn)行點擊。

                下載后得到安裝文件FiddlerSetup.exe,一路傻瓜式安裝即可。目前下載的版本為Progress Telerik Fiddler Classic。

                安裝完成后,打開Fiddler,主界面如下:

                • 如圖所示,切換至Inspectors可查看對應(yīng)請求的請求參數(shù)和返回參數(shù)
                • 請求參數(shù)、返回參數(shù)不同內(nèi)容及格式的展示,可以切換圖中對應(yīng)展示窗口頂部的Tab按鈕,如Headers、WebForms、Raw、Json等。
                • 會話窗口圖標(biāo)說明見文章末說明。

                接下來介紹怎樣使用Fiddler進(jìn)行手機移動端抓包。

                七、Fiddler移動端抓包

                我們先來捋一下移動端抓包的大概思路:

              11. Fiddler需要設(shè)置允許遠(yuǎn)程計算機連接,即允許手機移動端抓包;
              12. 設(shè)置手機代理網(wǎng)絡(luò)代理,使手機通過Fiddler代理發(fā)送HTTP請求 (即Fiddler充當(dāng)數(shù)據(jù)發(fā)送接收的中介);
              13. https請求抓包設(shè)置(如果只抓取http請求,以上兩步設(shè)置就可以了,但實際工作中經(jīng)常需要抓取https請求數(shù)據(jù))。
              14. 按照如上思路我們開始進(jìn)行具體設(shè)置。

                7.1 第一步:允許遠(yuǎn)程計算機連接

                設(shè)置步驟:Tools–>Options–>Connections–>勾選Allow remote computers to connect–>再點擊OK,其他默認(rèn)即可,如下圖所示:

                勾選后如果有彈窗確認(rèn)頁面,點擊【確定】即可。順便說一下,上圖勾選頁面中的8888為默認(rèn)的端口號,在第二步設(shè)置時需要使用。

                7.2 第二步,設(shè)置手機網(wǎng)絡(luò)代理

                首先,需要先獲取到安裝Fiddler的電腦的IPv4地址,在cmd中輸入ipconfig,如下圖所示:

                然后,在手機上找到對應(yīng)的WLAN網(wǎng)絡(luò),進(jìn)行該網(wǎng)絡(luò)代理的設(shè)置,以榮耀V20手機為例,操作步驟如下圖所示:

                手機系統(tǒng)設(shè)置–>WLAN–>修改網(wǎng)絡(luò)–>高級選項–>代理–>選擇手動–>主機名填入上一步IPv4–>端口填入默認(rèn)的8888–>保存

                注意:

                • 手機必須與電腦連接的是同一個網(wǎng)絡(luò),即連同一個WIFI或手機直接連電腦的熱點,再對這個網(wǎng)絡(luò)進(jìn)行代理設(shè)置,否則無法抓取數(shù)據(jù)。
                • 第2步選擇修改網(wǎng)絡(luò)時,手機型號不同可能需要不一樣的操作才能進(jìn)入到修改網(wǎng)絡(luò)頁面。

                到這一步,重啟Fiddler后,便可以對手機上的http請求進(jìn)行抓包了。如果不能抓取的話,可以在手機里重新保存上圖中的代理設(shè)置,再進(jìn)行請求。到這一步后,手機上打開APP操作,抓包的http請求,如下圖所示:

                可以看到,這里面只抓取了http請求,如果要對https請求進(jìn)行抓包,則還需要進(jìn)行下面的操作。

                7.3 第三步,允許捕獲HTTPS連接

                設(shè)置步驟:Tools–>Options–>HTTPS–>勾選Decrypt HTTPS traffic–>再勾選Ignore server certificate errors–>點擊OK

                注意,保存設(shè)置后需要重啟Fiddler才會生效。

                7.4 第四步,手機安裝證書

                步驟如下:

              15. 在手機上選擇任意瀏覽器,輸入第二步中的設(shè)置的代理地址,host為即Fiddler安裝電腦的IPv4地址,端口號即為默認(rèn)的8888
              16. 在1打開的網(wǎng)頁中點擊FiddlerRoot certificate下載證書
              17. Android手機到這一步就可以了,蘋果手機還需要在手機設(shè)置里去信任下載的證書,信任證書的操作步驟這里不做過多說明。

                完成這兩步后,我們即可以抓取手機發(fā)出的http請求,又可以抓取手機發(fā)出的https請求。在手機上打開今日頭條APP,驗證如下:

                至此,F(xiàn)iddler移動端抓包設(shè)置便完成。

                附上會話窗口圖標(biāo)說明,如下:

                總結(jié)

                今天的文章就到這里了喲,各位小伙伴學(xué)會了沒有,喜歡的小伙可以點贊收藏評論加關(guān)注喲,我每天都會和大家分享不同的知識喲。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月21日 09:17
                下一篇 2022年6月21日 09:17

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息