一、幾種主流的抓包工具的對比:
Wireshark:通用的抓包工具,抓取信息量龐大,詳細。通常需要過濾才可容易得到有用信息。如果只抓http請求個人認為有點大材小用。
Firebug、httpWatch:其實不夠給力的,相對而言功能有點欠缺。
花瓶:界面相較與fiddler要簡潔,他專注於Mac平台
一、Fiddler基本概念
1、fiddler是位於客戶端與服務端的http代理,他能記錄所有的客戶端與服務端之間的http或者https的請求響應。進行截獲、重發、編輯、轉存等操作。
2、允許監視、設置斷點、修改輸入輸出數據,它包含一個強大的基於事件腳本的子系統,並且支持.net語言進行擴展。
二、Fiddler界面基本介紹
主界面:
主菜單:
File: 文件
capture Traffic: 是否啟動抓包;勾選后左下角顯示capturing。是開始抓取;不勾選是不抓取,無capturing。
new viewer: 新建fiddler窗口。
save: 將當前抓取的會話進行保存。
其他的基本上不用,就不寫了。
Edit:編輯
copy: · 對所選的信息進行copy,包含對session、URL、headers等信息進行copy。
Remove: 刪除,包含刪除選擇的session,未選擇的session、刪除所有的。
Select All: 將回話區所有的會話全選。
Undelent: 將上一次刪除的會話進行復原。
Paste as sessions: 將以前的會話粘貼回來。
Mack: 自定義不同狀態的會話的顯示的顏色。
Unlock for Editing: 不允許進行編輯。
Find sessions: 對會話進行快捷查找,相當於Ctrl+F。
Rules:規則
Hide Image Requests: 隱藏圖片請求。
Hide connects: 隱藏connects請求。
Automatic Breakpoints: 修改請求或者響應的內容,做斷點使用較多。
Customize Rules: 調取腳本操作,多用於修改網絡、其他自定義時使用。
User-Agents: 模擬其他瀏覽器進行請求。
Performance: 一個性能測試工具,包含:模擬調制解調器速度、禁止緩存、顯示TTL8。
Tools:工具
Options: 一些設置項,包含:對抓取接口是http、HTTPS類型設置、獲取證書、設置代理的端口號等信息。
Wininet options: 對PC端進行設置代理。
Clear wininet cache: 清除緩存。
Clear wininet cookies: 清除cookies。
TextWizard: 編碼工具,可以用來進行編碼、解碼、轉碼操作。
compare sessions: 將兩個sessions會話進行對比,正常使用需要安裝插件。
Reset Script: 將腳本進行還原。
view IE cache: 視圖緩存
New sessions Clipboard..: 新建會話剪切板
HOSTS: 對host進行修改、配置。
View:視圖
Autoscroll session list: 設置會話區在抓取時是否自動滑動。
其他的主要是對布局方式的設置,包括菜單欄是否顯示、界面的顯示方式。
Help:幫助
主要包含fiddler自身的一些說明,基本上不用,感興趣的小伙伴可以自己去了解一下,或者留言。
快捷菜單欄
: 對選擇的會話進行備注。
: 將選擇的會話進行重新發送。
: 將會話進行刪除,包含刪除全部、刪除其他類型。。
: 主要在斷點中使用。具體的下次再介紹。
: 選中時為流模式,主要作用既特性:1、收到內容立即發送給客戶端
2、更接近真實瀏覽器的性能,速度快、時序圖更准確,但是不能控制響應。
不選中時為緩沖模式,主要作用既特性:1、內容全部返回后再發送至客戶端。
2、可以控制響應、修改響應數據,但是時序圖有時候會出現異常。
: 主要是對一些價加密的東西自動解密,默認是勾選的。
: 設置會話區最多顯示的會話數。
: 精准抓取指定的網站的數據包,多用於當同時抓取多個網站時。
: 快速查找。
: 保存。
: 截屏。
: 秒表。
: 快速打開指定的瀏覽器。
: 清除緩存。
: 編碼小工具,用於對數據的編碼、轉碼、解碼等。
: 快速打開。
: 當網站使用關鍵字的快速查找。
會話區
: 代表會話的編號,列表不同的圖標代表不同的含義。
: 代表請求后的狀態。
: 代表抓取的請求的協議。
: 代表抓取的請求的主機地址。
: 代表抓取的請求的URL以及端口號地址。
: 代表抓取的請求的大小。
: 顯示和緩存相關的內容。
: 主要代表抓取的請求的類型,比如圖片、josn、HTML等。
: 發出此請求的Windows進程以及進程ID。
: 通過腳本或者右鍵菜單給此請求增加的備注信息。
: 通過腳本設置的自定義值。
Decode selected sessions: 將選擇的會話進行重新請求一次。
: 統計選擇的請求的性能信息,包括流量、響應等信息。
: 顯示請求的請求頭信息。
: 進行對請求進行修改、重定向時使用。
: 模擬接口的請求,包含post、GET請求等。可以用來簡單的接口測試。
: 顯示腳本內容。
: 操作的日志。
: 設置過濾,具體設置自己可以去單獨了解一下。
: 顯示多個請求的瀑布流的時間。
請求參數顯示區
headers: 主要顯示選擇的請求的信息,包含、請求頭、請求體、body等信息。
textView: 以文本的形式顯示請求參數以及body值。
SyntaxView: 以腳本的形式顯示請求參數以及body值(需要安裝Syntaxview插件)。
WebForms: 以列表的形式顯示請求參數以及body值。
HexView: 以16進制形式顯示請求參數以及body值。
Auth: 顯示header中Proxy-Authorization和Authorization值。
Cookies: 以直觀的界面顯示header中的cookies的值。
Raw: 將整個請求以純文本的形式顯示。
Josn: 以josn串形式顯示請求參數以及body值。
XML: 以XML的形式顯示請求參數以及body值。
響應結果顯示區
Transformer: 響應信息的壓縮編碼格式,對響應信息進行編碼、解碼、轉碼操作。
Headers: 響應信息,包含響應狀態、響應頭、響應體。
textView: 以文本的形式展示響應結果。
SyntaxView: 以腳本的形式展示響應結果(需要安裝插件)。
ImageView: 當響應中包含圖片時可以用此功能進行查看圖片以及圖片信息。
HexView: 以16進制展示響應結果。
WebView: 以列表形式展示響應結果。
Auth: 展示響應結果中部分信息。
Caching: 響應的緩存過期時間或者緩存
Cookies: 展示響應中的cookies信息。
Raw: 以純文本形式展示響應頭。
json: 以JSON形式展示響應結果。
XML: 以XML形式展示響應結果。
會話區域各個圖標代表的含義
圖標 | 含義 |
![]() |
請求已經發往服務器 |
![]() |
已從服務器下載響應結果 |
![]() |
請求從斷點處暫停 |
![]() |
響應從斷點處暫停 |
![]() |
請求使用 HTTP 的 HEAD 方法,即響應沒有內容(Body) |
![]() |
請求使用 HTTP 的 POST 方法 |
![]() |
請求使用 HTTP 的 CONNECT 方法,使用 HTTPS 協議建立連接隧道 |
![]() |
響應是 HTML 格式 |
![]() |
響應是一張圖片 |
![]() |
響應是腳本格式 |
![]() |
響應是 CSS 格式 |
![]() |
響應是 XML 格式 |
![]() |
響應是 JSON 格式 |
![]() |
響應是一個音頻文件 |
![]() |
響應是一個視頻文件 |
![]() |
響應是一個 SilverLight |
![]() |
響應是一個 FLASH |
![]() |
響應是一個字體 |
![]() |
普通響應成功 |
![]() |
響應是 HTTP/300、301、302、303 或 307 重定向 |
![]() |
響應是 HTTP/304(無變更):使用緩存文件 |
![]() |
響應需要客戶端證書驗證 |
![]() |
服務端錯誤 |
![]() |
會話被客戶端、Fiddler 或者服務端終止 |