一、fiddler簡(jiǎn)介和安裝
1.1、工具介紹 fiddler是一個(gè)http協(xié)議調(diào)試代理工具,它能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,設(shè)置斷點(diǎn),查看所有的“進(jìn)出”fiddler的數(shù)據(jù)(指cookie,html,js,css等文件)。fiddler要比其他的網(wǎng)絡(luò)調(diào)試器要更加簡(jiǎn)單,因?yàn)樗粌H僅暴露http通訊,還提供了一個(gè)用戶友好的格式。 1.2、工具安裝 安裝fiddler,安裝位置自己選擇,fiddler官網(wǎng)地址:[https://www./fiddler],請(qǐng)需要同學(xué)自行下載哦 二、如何使用fiddler抓包 2.1、抓取移動(dòng)端數(shù)據(jù)包 如果要抓手機(jī)APP的包,接下來我們來設(shè)置fiddler的相關(guān)設(shè)置,如果只抓APP的HTTP包,也就是沒有加ssl安全協(xié)議的https數(shù)據(jù)包的話,我們基本不用設(shè)置什么就可以抓取,如下,記住端口號(hào)就行了:
2.2、步驟 (1)在電腦cmd命令窗口查看自己電腦的IP; (2)然后在手機(jī)連接的WiFi上設(shè)置代理,代理地址是電腦的IP,端口是fiddler的端口8888(注意:電腦和手機(jī)要處于同一網(wǎng)絡(luò)環(huán)境); (3)接著打開APP進(jìn)行數(shù)據(jù)請(qǐng)求; (4)fiddler界面查看需要的請(qǐng)求和響應(yīng)數(shù)據(jù),是不是抓到我們請(qǐng)求的數(shù)據(jù)連接了;
3、抓取APP的HTTPS數(shù)據(jù)包 3.1、步驟 (1)在下載fiddler的時(shí)候,順帶去下載一個(gè)基于iOS和安卓的插件:CertMaker (百度官網(wǎng)下載就行); (2)下載好了默認(rèn)安裝就行;
(3)查看安裝好了之后去手機(jī),對(duì)于iOS手機(jī):在手機(jī)自帶瀏覽器safari瀏覽器地址欄輸入安裝fiddler的電腦的IP+fiddler的端口8888,下載證書,然后在手機(jī)設(shè)置里面設(shè)置允許使用證書,完事; (4)對(duì)于安卓手機(jī):在手機(jī)自帶瀏覽器地址欄輸入安裝fiddler的電腦的IP+fiddler的端口8888(如:192.168.1.100:8888),進(jìn)行下載和安裝證書,也完事(注意:有的安卓機(jī)會(huì)提示安裝證書要設(shè)置鎖屏密碼,按照提示設(shè)置即可); (5)接下來和上面說的抓取http數(shù)據(jù)請(qǐng)求一致,設(shè)置手機(jī)網(wǎng)絡(luò)代理,整個(gè)流程完畢; 注意 7.0及以上的安卓手機(jī)系統(tǒng)默認(rèn)不識(shí)別我們安裝的證書,安卓9.0以上只識(shí)別系統(tǒng)明文的證書 解決辦法 1、換ios手機(jī)或者安卓系統(tǒng)7以下的手機(jī)進(jìn)行抓取數(shù)據(jù)請(qǐng)求。 三、抓取電腦端https數(shù)據(jù)包 3.1、步驟 (1)已安裝fiddler,如抓不到包,請(qǐng)看后續(xù)步驟操作; (2)在cmd命令窗口輸入certmgr.msc,打開證書管理器,搜索fiddler,把fiddler證書全部刪掉,瀏覽器的fiddler證書也全部刪除; (3)接下來去瀏覽器設(shè)置代理,127.0.0.1:8888,就可以抓HTTPS的請(qǐng)求了; 3.2、抓取瀏覽器的https數(shù)據(jù)包失敗怎么辦? (1)清除電腦上的fiddler證書; WIN+R快捷鍵,輸入:certmgr.msc, 然后回車,查找所有fiddler證書,然后刪除; (2)清除瀏覽器上的fiddler證書; 清除瀏覽器上的證書文件 ,此處需要仔細(xì)查找?guī)в蠪iddlerRoot的字樣,并刪除,以谷歌瀏覽器為例說明,在瀏覽器上輸入: chrome://settings/; (3)打開fiddler,點(diǎn)擊工具欄中的Tools—>Options,點(diǎn)擊Actions,選擇最后一項(xiàng),Reset All certificates,然后關(guān)閉;
證書全部清除后重新安裝證書即可完成抓包,之前可能因?yàn)樽C書混亂導(dǎo)致抓不到。 四、fiddler斷點(diǎn) 3.1、步驟 (1)找到需要打斷點(diǎn)的請(qǐng)求鏈接 (2)點(diǎn)擊請(qǐng)求地址,選擇菜單欄的rules-automatic breakpoints-before requests(意思:在在這個(gè)請(qǐng)求發(fā)送到服務(wù)器之前),進(jìn)行攔截, (3)修改數(shù)據(jù)后,得到一個(gè)新的請(qǐng)求,點(diǎn)擊新的斷點(diǎn)請(qǐng)求,對(duì)請(qǐng)求數(shù)據(jù)進(jìn)行修改 (4)修改好了之后點(diǎn)擊‘run to completion’發(fā)送打了斷點(diǎn)的請(qǐng)求,然后查看請(qǐng)求列表,可進(jìn)行數(shù)據(jù)傳輸安全性測(cè)試
小結(jié): 作為測(cè)試人員,fiddler是使用頻率最高的工具,在沒有接口文檔的情況下,可以通過前端抓包獲取請(qǐng)求的相關(guān)數(shù)據(jù),確認(rèn)是接口問題還是前端問題,避免被懟,在進(jìn)行一些邏輯和逆向思維測(cè)試的時(shí)候,fiddler簡(jiǎn)直是神一樣的助手,對(duì)數(shù)據(jù)進(jìn)行修改,發(fā)送,驗(yàn)證數(shù)據(jù)在傳輸過程中是否進(jìn)行加密處理,保證敏感數(shù)據(jù)的安全性,簡(jiǎn)直是我們測(cè)試人員的好幫手。
|