目錄
1、Fiddler工具的作用和常用使用場景
2、Fiddler工具的工作原理是什么?
3、Fiddler抓取HTTPS包
4、想抓取一些特定的頁面相關請求
5、一些快速命令的使用,cls/select/?等
6、設置severIP
7、設置訪問IP
8、APP抓包,電腦端和IOS手機配置
9、利用Fiddler攔截接口請求並篡改數據,修改請求request的數據,可任意找url鏈接驗證
10、利用Fiddler攔截接口請求並篡改數據,修改返回response的數據,可任意找url鏈接驗證
11、利用autoResponder【重定向功能】將服務器的返回數據(即原資源)重定向到本地的文件,進行調試
12、利用autoResponder【重定向功能】也可修改返回response的數據
13、模擬接口測試
14、fiddler與瀏覽器上直接輸入F12的區別?
15、當某個網站的請求都被攔截了,怎么恢復?
1、Fiddler工具的作用和常用使用場景
Fiddler是一款常見的抓包分析工具,可詳細的對HTTP 請求進行分析,並模擬對應的HTTP請求
作用:
1)查看本機IP
2)模擬限速操作
3)篡改數據
4)重定向功能
5)發送自定義請求,模擬小型接口測試
6)App抓包
常用場景:
1)查看本機IP
2)輔助定位bug--抓取協議包,前后端聯調
3)APP弱網模擬測試--弱網、斷網、404、502、超時
4)前端性能分析及優化
5)API接口測試
6)構建模擬測試場景--數據篡改、重定向
①解析請求
>>>解析http請求狀態,請求頭、請求正文、返回頭、返回正文等
②修改請求返回數據
>>>設置斷點修改發出的請求數據,或修改請求返回的數據
③重定向請求
>>>替換遠程文件,調試線上js/css文件
④構造請求
>>>構造請求發送數據,測試網站安全性
2、Fiddler工具的工作原理是什么?
1.本地應用與服務器之間所有的Request 和Response都將經過Fiddler,由Fiddler進行轉發,此時Fiddler以代理服務器的方式存在。
2.由於所有的網絡數據都會經過Fiddler,因此Fiddler能夠截獲這些數據,實現網絡數據的抓包
3.詳細見圖片說明
首先fiddler截獲客戶端瀏覽器發送給服務器的https請求, 此時還未建立握手。
第一步, fiddler向服務器發送請求進行握手, 獲取到服務器的CA證書, 用根證書公鑰進行解密, 驗證服務器數據簽名, 獲取到服務器CA證書公鑰。
第二步, fiddler偽造自己的CA證書, 冒充服務器證書傳遞給客戶端瀏覽器, 客戶端瀏覽器做跟fiddler一樣的事。
第三步, 客戶端瀏覽器生成https通信用的對稱密鑰, 用fiddler偽造的證書公鑰加密后傳遞給服務器, 被fiddler截獲。
第四步, fiddler將截獲的密文用自己偽造證書的私鑰解開, 獲得https通信用的對稱密鑰。
第五步, fiddler將對稱密鑰用服務器證書公鑰加密傳遞給服務器, 服務器用私鑰解開后建立信任, 握手完成, 用對稱密鑰加密消息, 開始通信。
第六步, fiddler接收到服務器發送的密文, 用對稱密鑰解開, 獲得服務器發送的明文。再次加密, 發送給客戶端瀏覽器。
第七步, 客戶端向服務器發送消息, 用對稱密鑰加密, 被fidller截獲后, 解密獲得明文。
由於fiddler一直擁有通信用對稱密鑰, 所以在整個https通信過程中信息對其透明。
3、Fiddler抓取HTTPS包
以chrome瀏覽器工具為例,不同瀏覽器可能存在部分差異
1、設置fiddler工具
2、信任證書
-------------------------------------------------------------------------------
1、設置fiddler工具
2、信任證書
一路點擊是,則完成了證書的信任,查看證書,可以找到DO_NOT_TRUST_FiddlerRoot,則代表成功。
訪問https://www.baidu.com 網站,檢查fiddler中有無相關記錄
4、想抓取一些特定的頁面相關請求
因為fiddler工具是抓取全部的http請求,比如分別訪問了百度/網易/騰訊的網頁,但只想在工具上顯示百度的相關請求?
設置過濾器:
5、一些快速命令的使用,cls/select/?等
1)命令輸入位置:
2)命令類型
① ?字符串,如?sometext 。當您鍵入一些字符串,如sometext ,Fiddler將突出會話所在的URL中包含sometext的請求 。此時按Enter鍵將高亮選中所有匹配的會話
②<size,如<50k 。選擇請求響應大小小於size字節的會話
③>size,如>50k 。選擇請求響應大小大於size字節的會話
④=status、 =method,如=200、=301(重定向響應)或=post 。選擇響應狀態=status 或請求方法=method的會話
⑤@host,如 @baidu.com 。 選擇會話中域名包含host的會話,此時按Enter鍵可高亮所有匹配的結果
⑥bold , 如:預先設置會話加粗:標記任何URL包含了目標字符串的后續請求
⑦cls or clear,清空會話列表
⑧g or go,恢復所有設置斷點的會話
⑨quit,退出Fiddler
⑩bpafter+域名,如bpafter baidu(輸入bpafter解除斷點)。設置中斷RequestURI中包含指定字符串的任何響應
>>>tip:再次輸入bpafter取消設置
⑪bpu,如:bpu baidu(輸入bpu解除斷點)。對包含指定字符串的URI創建請求斷點。設置此命令將清除該命令的任何以前的值,不帶參數調用它會禁用斷點

6、設置severIP
由於web前端在多個環境中開發,需要經常更換host,怎么檢查訪問的域名時指向哪個服務器IP的時,可通過對抓包工具Fiddler的設置,讓請求顯示服務器IP信息
1.菜單->Rules->Customize Rules
2.在CustomRules.js文件里Ctrl+F查找字符串 static function Main()后添加一行FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");代碼后,重啟fiddler之后就可見Server IP了
7、設置訪問IP
多語言驗證時,需要模擬不同的IP下訪問頁面查看web頁面的簡繁英頁面顯示有無問題,可通過fiddler工具的設置,模擬不同的IP
1.菜單->Rules->Customize Rules
2.在CustomRules.js文件里Ctrl+F查找字符串 OnBeforeRequest后,按照截圖所示的格式進行添加,需要模擬哪個地區的IP的話,比如想模擬香港地區的IP,則按照如下格式填寫任意一個香港地區的IP,然后去掉前面的//之后,此時訪問頁面就相當於用香港地區
的IP再訪問了
8、APP抓包,電腦端和IOS手機配置
測試對象是APP的時候,同樣也想對其進行抓包分析,此時電腦端該怎么設置?
1.查看電腦的IP,cmd中輸入ipconfig查看IPV4
2.fiddler工具上按照截圖所示進行設置
3.檢查fiddler進程是否正常監聽8888端口,cmd中輸入netstat -ano|findstr "8888"
4.有截圖所示的結果的話,代表成功。如果沒有的話,可能8888端口已被其他應用占用,可選擇在fiddler里面換個端口即可。
PS.設置完成后,記得重啟fiddler
測試對象是APP的時候,同樣也想對其進行抓包分析,此時手機該怎么設置?
1.safari瀏覽器中輸入電腦IP【0811中獲取到IPV4地址】:8888,如:192.158.xx.xx:8888,下載證書后,進行安裝
2.信任證書,在蘋果手機的這兩個入口分別點擊信任證書
3.iOS手機上按照如下方式進行配置后,在手機上訪問一些頁面,可在fiddler工具上看見相應的內容
4.安卓手機選擇要連接的 wifi ,並且長按,在彈出的對話框中,選擇“修改網絡”。在接下來彈出的對話框中,勾選“顯示高級選項”。在接下來顯示的頁面中,點擊“代理”,選擇“手動”。代理服務器主機名設為 PC 的 IP ,代理服務器端口設為 Fiddler 上配置的端口 8888,點”保存”
9、利用Fiddler攔截接口請求並篡改數據,修改請求request的數據,可任意找url鏈接驗證
以百度鏈接為例 1.首先回憶下day7中說的輸入快速命令的方法,輸入bpu 待攔截的接口的網址或域名(斷點),此處填寫,填寫完成后按enter鍵
2.瀏覽器中訪問登錄的網址 https://www.baidu.com/ ,查詢武漢的相關信息,可在fiddler中看見如下內容
3.修改截圖所示修改相關的值
4.查看返回結果
至此,完成修改請求request中的數據
PS.想取消斷點的話,可在快捷輸入框內輸入bpu后,按enter后即可取消打斷點
10、利用Fiddler攔截接口請求並篡改數據,修改返回response的數據,可任意找url鏈接驗證
以百度鏈接為例 1.輸入bpafter 待攔截的接口的網址或域名,此處填寫,填寫完成后按enter鍵
2.瀏覽器中訪問登錄的網址 https://www.mtc.baidu.com/ 可在fiddler中看見如下內容
3.按照截圖所示修改返回的內容
4.查看頁面結果,修改已成功
至此,完成修改返回response中的數據
PS.想取消斷點的話,可在快捷輸入框內輸入bpafter后,按enter后即可取消打斷點
11、利用autoResponder【重定向功能】將服務器的返回數據(即原資源)重定向到本地的文件,進行調試
1.按照截圖所示,分別將3個選購全部勾選,勾選完成后,將待重定向的網址直接拖到右方【手動填寫完整地址/正則表達式進行模糊匹配的地址】即可
2.填寫要替換的內容,下拉框有很多選項可以選擇, 比如201、302、404,502等status code
3.設置完成之后,刷新百度網頁,請求回來的數據已經是替換后的內容了
PS.想取消的話,直接將第1步中勾選的Enable rules去掉即可
12、利用autoResponder【重定向功能】也可修改返回response的數據
2.將txt按照截圖的方式進行保存
3.按照0816的方式的第2步的方式在fiddler中進行設置,選擇替換的文件可按照截圖的方式進行選擇
PS.想取消的話,直接將第1步中勾選的Enable rules去掉即可
13、模擬接口測試
模擬一個小型/簡易的接口測試工具,借助fiddler上的Composer可填寫可以填接口地址,設置請求參數、填寫響應結果后execute后,相當於模擬一個簡易的接口測試工具
1.選取csdn的登錄網址,訪問https://passport.csdn.net/ 網站,抓取到登錄的請求后,按照截圖所示進行配置【右邊頁面的數據中可根據需求進行任意修改,達到模擬接口測試工具的目的】
2.執行完之后,再次查看http請求,接口直接報錯
14、fiddler與瀏覽器上直接輸入F12的區別?
相同點:均可以對HTTP請求進行分析
不同點:
1.F12無法抓包APP端的HTTP請求,而Fiddler工具可完成
2.F12無法修改篡改請求的數據,而Fiddler工具可完成
3.F12中可在Console中輸入部分指令,方便查看前端數據,可通過Application上方便查看一些請求的一些數據,尤其涉及到登錄或者邀請相關的知識
15、當某個網站的請求都被攔截了,怎么恢復?
可查看是哪些域名下網頁被攔截了,可在快速命令行中輸入bpu后,再點擊enter后,即可恢復相關網站的訪問
若有侵權行為,請聯系刪除