Web應用是通過網絡訪問Web服務器的一類應用。這類應用使用HTTP和HTTPS協(xié)議進行數據傳輸,如網站和各類手機App。為了驗證軟件工作狀態(tài),開發(fā)人員、滲透測試人員、網絡維護人員往往需要對其傳輸的數據進行分析驗證。Fiddler是業(yè)內知名的HTTP/HTTPS調試工具。它不僅提供強大的HTTP代理和分析功能,還具備針對數據傳輸的雙向調試功能。本書共10章,主要內容包括Fiddler基礎知識、認識Sessino、捕獲數據、Session過濾和搜索、HTTP請求、HTTP響應、緩存、Cookie、常見類型會話分析、修改會話。本書適合軟件測試人員、網站開發(fā)人員、滲透測試、網絡維護人員、信息安全愛好者閱讀。通過本書,可以幫助讀者了解和掌握HTTP數據傳輸特點和捕獲會話方式,熟練分析HTTP會話各項內容,并掌握會話修改技巧,從而完成HTTP應用調試。
前言
第1章 Fiddler基礎知識1
1.1 Fiddler簡介1
1.1.1 Fiddler的工作原理1
1.1.2 Fiddler的作用2
1.2 獲取Fiddler2
1.2.1 下載Fiddler3
1.2.2 安裝Fiddler3
1.2.3 更新Fiddler4
1.3 Fiddler主界面介紹6
1.3.1 啟動Fiddler7
1.3.2 Fiddler用戶界面7
1.4 Fiddler捕獲數據8
1.4.1 捕獲本機數據8
1.4.2 捕獲手機數據10
1.4.3 捕獲其他主機數據13
1.4.4 捕獲本地數據14
1.4.5 驗證捕獲數據15
1.4.6 使用上游代理17
1.4.7 常見問題19
1.5 配置HTTPS解密25
1.5.1 啟用HTTPS解密25
1.5.2 導出證書28
1.5.3 在計算機上導入證書28
1.5.4 在手機上導入證書33
1.6 保存數據34
1.6.1 保存檔案數據34
1.6.2 打開檔案數據36
1.6.3 保存為其他文件格式38
第2章 認識Session43
2.1 Web Session列表43
2.2 Session的摘要信息44
2.2.1 會話編號44
2.2.2 響應狀態(tài)碼46
2.2.3 會話協(xié)議50
2.2.4 服務器主機52
2.2.5 統(tǒng)一資源定位符54
2.2.6 注釋會話56
2.2.7 會話進程57
2.2.8 隱藏摘要信息59
2.3 Session統(tǒng)計信息60
2.3.1 單一會話統(tǒng)計信息60
2.3.2 多個會話統(tǒng)計信息62
2.4 整理Session信息65
2.4.1 標記Session65
2.4.2 刪除Session67
2.4.3 提取信息69
第3章 捕獲數據72
3.1 修改客戶端狀態(tài)72
3.1.1 設置User-Agent72
3.1.2 設置網絡模式75
3.1.3 設置編碼方式75
3.2 捕獲過濾75
3.2.1 快速過濾75
3.2.2 Filters選項卡76
3.3 通過Hosts主機過濾77
3.3.1 是否顯示互聯(lián)網主機的會話77
3.3.2 隱藏指定主機名的會話78
3.3.3 只顯示指定主機名的會話79
3.3.4 標記指定主機名的會話80
3.4 通過客戶端進程過濾81
3.4.1 只顯示指定進程下的數據流82
3.4.2 只顯示進程名稱以IE開頭的數據流83
3.4.3 隱藏svchost.exe進程的數據流83
3.5 通過響應狀態(tài)碼過濾83
3.6 通過響應類型和大小過濾84
3.6.1 捕獲指定類型的會話85
3.6.2 捕獲響應體規(guī)定范圍的會話86
3.7 通過響應頭內容過濾86
3.7.1 捕獲響應頭中包含Set-Cookie響應的會話并顯示87
3.7.2 捕獲指定HTTP響應頭名稱的會話并顯示88
3.7.3 自定義響應頭內容90
第4章 Session的分類、過濾與搜索91
4.1 Session的類型91
4.2 高級過濾92
4.2.1 通過select過濾93
4.2.2 通過?過濾96
4.2.3 通過allbut過濾97
4.2.4 通過會話大小過濾97
4.2.5 通過@Host過濾98
4.2.6 通過=status過濾98
4.2.7 通過=Method過濾99
4.3 全文搜索100
第5章 HTTP請求103
5.1 HTTP請求的構成103
5.2 請求行104
5.2.1 請求方法104
5.2.2 GET請求方法105
5.2.3 POST請求方法109
5.3 客戶端信息111
5.3.1 可接受信息111
5.3.2 用戶代理115
5.4 其他字段116
5.4.1 引用網址117
5.4.2 傳輸方式118
第6章 HTTP響應121
6.1 HTTP響應的構成121
6.2 預處理122
6.2.1 內容壓縮編碼123
6.2.2 傳輸編碼126
6.3 響應行127
6.3.1 200 OK127
6.3.2 204 No Content129
6.3.3 301 Moved Permanently和302 Found131
6.3.4 304 Not Modified133
6.3.5 401 N/A134
6.3.6 404 Not Found135
6.3.7 501 Not Implemented136
6.3.8 502 DNS Lookup Failed或Connection Failed137
6.4 響應頭138
6.4.1 內容信息138
6.4.2 服務器信息143
6.5 響應體145
第7章 緩存146
7.1 HTTP緩存機制146
7.1.1 HTTP緩存工作原理146
7.1.2 建立資源緩存信息149
7.1.3 根據有效期判斷是否使用緩存150
7.1.4 基于緩存請求152
7.1.5 根據If-Modified-Since字段判斷是否使用緩存153
7.1.6 根據If-None-Match字段判斷是否使用緩存155
7.2 內部控制緩存157
7.2.1 禁止緩存157
7.2.2 緩存控制方式157
7.3 外部控制緩存159
7.3.1 用戶操作159
7.3.2 HTML標簽限制161
7.3.3 Fiddler控制緩存161
7.4 使用Caching工具分析163
7.4.1 分析首次請求的緩存163
7.4.2 驗證緩存的有效性164
7.4.3 分析no-cache字段值的緩存165
第8章 Cookie167
8.1 實現(xiàn)Cookie機制167
8.1.1 Cookie的工作原理167
8.1.2 服務器建立Cookie規(guī)則168
8.1.3 客戶端傳輸Cookie170
8.2 限制Cookie171
8.2.1 訪問不同站點需使用不同的Cookie172
8.2.2 Cookie的有效期173
8.2.3 Cookie的發(fā)送范圍174
8.2.4 安全防護178
第9章 常見的會話分析180
9.1 文本會話180
9.1.1 純文本視圖180
9.1.2 代碼視圖182
9.1.3 網頁視圖182
9.2 圖片會話184
9.2.1 查看圖片184
9.2.2 復制圖片信息187
9.2.3 擴展編輯功能188
9.3 視頻會話191
9.4 音樂會話195
9.5 JSON會話197
9.5.1 JSON的概念197
9.5.2 查看請求體的JSON199
9.5.3 查看響應體的JSON201
9.6 XML會話207
9.7 認證信息210
第10章 修改會話211
10.1 會話斷點211
10.1.1 請求斷點211
10.1.2 響應斷點212
10.2 設置請求斷點212
10.2.1 通過菜單欄設置請求斷點212
10.2.2 通過命令行設置請求斷點214
10.2.3 通過過濾器設置請求斷點216
10.3 設置響應斷點218
10.3.1 通過菜單欄設置響應斷點219
10.3.2 通過命令行設置響應斷點220
10.3.3 通過過濾器設置響應斷點222
10.4 修改會話請求224
10.4.1 修改客戶端請求的HOST224
10.4.2 修改客戶端搜索的內容231
10.4.3 修改請求標題和內容不符234
10.5 修改會話響應238
10.5.1 刪除服務器響應體238
10.5.2 更換響應體文字240
10.5.3 更換響應體圖片243