fiddler抓包簡單應用

工作中用fiddler時候有限,只是抓抓接口,打個斷點,修改請求參數或者返回值。本來覺得沒什麼可寫,但是問的人多了,還是直接寫一篇出來,省的每次都教一遍了。

使用方法很簡單,直接打開fiddler,然後對瀏覽器操作就能抓到一些包了。但是,有意外情況,可能會發現網頁打不開了,比如百度:

因爲涉及到https協議,所以得設置一下fiddler和瀏覽器(即使設置以後也打不開百度,我這已經是設置後的了,別的網址一般應該都能正常打開)。設置以後就不用再往回改了,一直這麼放着不會產生任何影響(沒發現有什麼影響)。

先設置fiddler:點擊Tools-->Fiddler Options,HTTPS裏面複選框都勾上

下面我框起來的是導出個證書到桌面,我記得還有別處也能導出證書來着,一時沒找到。點擊導出證書,看桌面很容易找到證書。

然後設置瀏覽器,以谷歌瀏覽器爲例:打開設置,高級裏面有個管理證書,點擊,彈出窗口在個人那裏直接點導入就可以,導入桌面這個證書。然後再打開https協議的網頁就能打開了。

設置抓手機包:fiddler還是設置那裏,點擊Connections,8888那個不用管,默認的,可以修改。Allow remote那個我記得開始時候是沒勾選的,勾選上。

查看電腦IP,cmd下輸入ipconfig

再設置手機:手機和電腦在同一網絡下,打開WLAN設置,找到連接的網絡

我這手機點最右邊三角就進入網絡詳情裏了。然後設置代理那裏,無改爲自動,下面主機名輸入電腦IP,端口就是在fiddler那裏看到的8888,設置完一定要點確定。然後手機打開瀏覽器,我這情況就是在瀏覽器裏輸入:http://192.168.1.4:8888,會打開一個網頁,我記得一共就兩個鏈接,其中一個能下載證書,點擊自動下載一個證書,然後手機安裝這個證書。這樣也能抓手機端https協議的包了。抓完一定要把手機的代理重新設置爲無,否則fiddler一關閉,手機就上不了網了。fiddler就不用再改回去了,沒影響。

上面都是準備工作,然後簡單抓個接口看看,網址還是用中國聯航的官網(www.flycua.com)了,對這最熟。手機端直接操作手機即可。

抓之前可以先清空fiddler裏面自己抓的東西,免得太亂不好找自己想抓的接口。

叉子裏面有個Remove all選項,清空所有數據,下面那個紅色箭頭是打斷點,本來那位置是空的,點一下出個向上的箭頭,意思是攔截髮往服務器的請求;再點一下變成向下的箭頭,意思是攔截服務往回返的信息;再點一下,箭頭消失,都不攔截,包還是正常抓。

首先一個登陸,我隨便輸個賬號,密碼,打個攔截服務器返回的斷點:

右面上面那部分是發往服務器的參數,上面那一排第一個是請求頭的意思,參數和值也可能是在webforms裏看,或者我畫的這裏,raw裏也能看。

下面這裏是服務器返回的信息,這裏信息可以略作修改,比如errorcode後面那串數字,是會員賬號不存在的意思。如果改成0000,就是登錄成功的狀態碼,然後點擊那個綠色按鈕,run to completion,瀏覽器就會接收到一個登錄成功的命令,當然左邊下面還會出現很多被攔截的請求,需要逐條通過一下,但是不能全部一下通過,因爲全部通過某些接口會讓服務器發現出異常情況了,就自動又退回到登錄頁面。當然即使進入登錄成功頁面,這種情況裏面也沒什麼東西。

先把斷點關閉,然後會員中心有個修改密碼的功能,再看看修改密碼這,打個攔截去往服務器的斷點:

這是我輸入舊密碼和新密碼點擊提交時候攔截的請求,右邊上面那部分能看到舊密碼和新密碼,當然都是我隨便輸的。在這裏可以修改新密碼,比如密碼規則不能有特殊符號,我把新密碼改成帶特殊符號的,然後點綠色按鈕提交。這就繞過頁面驗證,直接通過接口發送請求了,看看接口能不能攔截異常請求。

基本就是這些,如果要想做接口測試,我覺得還是直接用jmeter或者badboy錄腳本吧,fiddler可能有些接口還是抓不出來,而且接口太亂,fiddler抓出來還得再往postman或者jmeter整理,很是耗神費力。jmeter錄腳本點這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章