在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    FIddler之Fiddler移動(dòng)端抓包

    FIddler之Fiddler移動(dòng)端抓包

    前言

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

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

    一、抓包

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

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

    二、什么是抓包

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

    三、哪些場景下需要抓包

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

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

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

    四、Fiddler

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

    Fiddler特點(diǎn)簡單歸納如下:

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

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

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

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

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

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

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

    六、安裝

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

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

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

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

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

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

    七、Fiddler移動(dòng)端抓包

    我們先來捋一下移動(dòng)端抓包的大概思路:

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

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

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

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

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

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

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

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

    注意:

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

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

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

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

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

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

    7.4 第四步,手機(jī)安裝證書

    步驟如下:

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

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

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

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

    總結(jié)

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

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

    相關(guān)推薦

    聯(lián)系我們

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