Fiddler抓包原理講解以及例項操作
Fiddler
工作圖解
在講解
抓包
之前,先看一下我們的HTTP請求頭中都包含了那些引數,這些引數的含義是什麼。
HTTP常規的請求頭
抓包
抓包抓的是客戶端發給server的網路包,以及server返回給客戶端的包。
HTTP抓包示例以及引數講解
示例:
get請求:在百度中搜索 fiddler的使用,檢視返回結果。
post請求:某網站登入
請求
在百度中搜索 fiddler的使用,抓取到的資料:請求頭和請求行如下所示:
1、請求行
如圖所示,這一部分就是請求行了。
資料copy出來的內容就是:
GET /s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=monline_3_dg&wd=fiddler%E4%BD%BF%E7%94%A8&fenlei=256&rsv_pq=d410c48d002f6544&rsv_t=16c9GIjIWx7au4zPRdR1ReDb8luE9OKPs8zeEqmb%2Bh7lQvG%2B4SonxX5O2LsV&rqlang=en&rsv_dl=ih_0&rsv_enter=1&rsv_sug3=2&rsv_sug1=2&rsv_sug7=001&rsv_sug2=1&rsv_btype=t&rsp=0&rsv_sug9=es_2_1&rsv_sug4=2835&rsv_sug=9 HTTP/1。1
這些資料含義依次是:請求方法、請求路徑(包含了請求引數)、請求協議。
請求引數也可以在這裡看到,比較的一目瞭然。
2、請求頭
如下圖所示就是請求頭的內容了,由於請求頭的內容太多了,就不方便copy出來看了。
3、請求體
get請求沒有請求體。
使用查詢ip地址的post請求展示請求體的內容。
響應
在百度中搜索 fiddler的使用,抓取server返回給客戶端的響應訊息。
1、狀態行
如圖所示,標出來的這一部分就是狀態行了,這些引數的含義依次是:響應協議、響應狀態碼、狀態響應訊息。
2、響應頭
告訴瀏覽器服務端返回的資料是什麼。
3、響應體
如圖所示,我們看到的就是響應體
3。1、檢視響應結果
根據返回的值的不同,選擇不同的資料格式就可以了。
文字:TextView
圖片:ImageView
網頁:WebView
json:Json
xml:XML
3。2、中文亂碼
如果響應結果中包含中文,會亂碼顯示,不要慌,點選上面的黃色塊,對響應結果進行解碼即可。
正常顯示了:
get和post區別
get沒有請求體,post有請求體
get的請求引數拼接在url之後,用
?
分割URL和傳輸資料,請求引數之間用
&
相連,而post的提交資料在http請求的請求體中。
例如:加粗的是url,後面的是請求引數和值
https://www。baidu。com/s?
ie=utf8&f=3&rsv_bp=1&rsv_idx=1&tn=monline_3_dg&wd=fiddler%E4%BD%BF%E7%94%A8&fenlei=256&rsv_pq=d410c48d002f6544&rsv_t=16c9GIjIWx7au4zPRdR1ReDb8luE9OKPs8zeEqmb%2Bh7lQvG%2B4SonxX5O2LsV&rqlang=en&rsv_dl=ih_0&rsv_enter=1&rsv_sug3=2&rsv_sug1=2&rsv_sug7=001&rsv_sug2=1&rsv_btype=t&rsp=0&rsv_sug9=es_2_1&rsv_sug4=2835&rsv_sug=9
get的請求引數個有限,因為瀏覽器的url輸入框有長度顯示。而post的請求引數個數不限
get請求沒有post請求安全,因為get的請求引數在url中可見,而且get獲取響應的資料是從cache(快取)中獲取的。
get獲取請求變數的值的方法是Request。querystring。post獲取變數的值的方法是Request。body
HTTPS抓包
在抓取https協議下的資料包之前,我們要先在fiddler中配置HTTPs,參考一下我的這一篇部落格:fiddler工具詳解-包含配置https
https的抓包和http抓包一樣,上面的例子有的就是來自https型別的網站。
快速抓包tips
點選capturing開啟抓包,訪問到自己想要的資料中之後就關閉capturing,不要讓fiddler繼續抓包
隱藏圖片請求、隱藏連結的請求。設定:選單欄 - Rules - 勾選 hide image request和hide CONNECTs。
關鍵字搜尋,使用ctrl + f,在session列表查詢關鍵字,可以快速定位到自己想要的那一條請求。然後選中這個session,右鍵- Mark - Red,可以標記一下。
控制capturing的開始時機,在我們進入最終頁面的時候開始捕獲,然後重新整理這個頁面,這樣就可以直接獲得我們想要的會話列表。
在輔助工具欄 - Filters中可以設定捕獲來自某一個網站的資料。設定方法參考:fiddler工具詳解 - 包含Filters的使用,在這篇文章的最後一部分。
在介面測試中的用途
如果dev人員沒有給介面文件,那麼我們可以透過抓包的方式來獲取介面資訊:請求url,請求方法、引數、響應結果。
還是以搜尋 fiddler使用 為例展示。
開啟postman,建立一個請求,輸入請求URL,然後點選send,就可以看到我們的請求結果了。
原文連結:
https://
blog。csdn。net/weixin_43
831559/article/details/126089677