Web應用是通過網(wǎng)絡(luò)訪問Web服務(wù)器的一類應用。這類應用使用HTTP和HTTPS協(xié)議進行數(shù)據(jù)傳輸,如網(wǎng)站和各類手機App。為了驗證軟件工作狀態(tài),開發(fā)人員、滲透測試人員、網(wǎng)絡(luò)維護人員往往需要對其傳輸?shù)臄?shù)據(jù)進行分析驗證。Fiddler是業(yè)內(nèi)知名的HTTP/HTTPS調(diào)試工具。它不僅提供強大的HTTP代理和分析功能,還具備針對數(shù)據(jù)傳輸?shù)碾p向調(diào)試功能。本書共10章,主要內(nèi)容包括Fiddler基礎(chǔ)知識、認識Sessino、捕獲數(shù)據(jù)、Session過濾和搜索、HTTP請求、HTTP響應、緩存、Cookie、常見類型會話分析、修改會話。本書適合軟件測試人員、網(wǎng)站開發(fā)人員、滲透測試、網(wǎng)絡(luò)維護人員、信息安全愛好者閱讀。通過本書,可以幫助讀者了解和掌握HTTP數(shù)據(jù)傳輸特點和捕獲會話方式,熟練分析HTTP會話各項內(nèi)容,并掌握會話修改技巧,從而完成HTTP應用調(diào)試。
前言
第1章 Fiddler基礎(chǔ)知識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捕獲數(shù)據(jù)8
1.4.1 捕獲本機數(shù)據(jù)8
1.4.2 捕獲手機數(shù)據(jù)10
1.4.3 捕獲其他主機數(shù)據(jù)13
1.4.4 捕獲本地數(shù)據(jù)14
1.4.5 驗證捕獲數(shù)據(jù)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 保存數(shù)據(jù)34
1.6.1 保存檔案數(shù)據(jù)34
1.6.2 打開檔案數(shù)據(jù)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 服務(wù)器主機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章 捕獲數(shù)據(jù)72
3.1 修改客戶端狀態(tài)72
3.1.1 設(shè)置User-Agent72
3.1.2 設(shè)置網(wǎng)絡(luò)模式75
3.1.3 設(shè)置編碼方式75
3.2 捕獲過濾75
3.2.1 快速過濾75
3.2.2 Filters選項卡76
3.3 通過Hosts主機過濾77
3.3.1 是否顯示互聯(lián)網(wǎng)主機的會話77
3.3.2 隱藏指定主機名的會話78
3.3.3 只顯示指定主機名的會話79
3.3.4 標記指定主機名的會話80
3.4 通過客戶端進程過濾81
3.4.1 只顯示指定進程下的數(shù)據(jù)流82
3.4.2 只顯示進程名稱以IE開頭的數(shù)據(jù)流83
3.4.3 隱藏svchost.exe進程的數(shù)據(jù)流83
3.5 通過響應狀態(tài)碼過濾83
3.6 通過響應類型和大小過濾84
3.6.1 捕獲指定類型的會話85
3.6.2 捕獲響應體規(guī)定范圍的會話86
3.7 通過響應頭內(nèi)容過濾86
3.7.1 捕獲響應頭中包含Set-Cookie響應的會話并顯示87
3.7.2 捕獲指定HTTP響應頭名稱的會話并顯示88
3.7.3 自定義響應頭內(nèi)容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請求的構(gòu)成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 引用網(wǎng)址117
5.4.2 傳輸方式118
第6章 HTTP響應121
6.1 HTTP響應的構(gòu)成121
6.2 預處理122
6.2.1 內(nèi)容壓縮編碼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 內(nèi)容信息138
6.4.2 服務(wù)器信息143
6.5 響應體145
第7章 緩存146
7.1 HTTP緩存機制146
7.1.1 HTTP緩存工作原理146
7.1.2 建立資源緩存信息149
7.1.3 根據(jù)有效期判斷是否使用緩存150
7.1.4 基于緩存請求152
7.1.5 根據(jù)If-Modified-Since字段判斷是否使用緩存153
7.1.6 根據(jù)If-None-Match字段判斷是否使用緩存155
7.2 內(nèi)部控制緩存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 服務(wù)器建立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 網(wǎng)頁視圖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 設(shè)置請求斷點212
10.2.1 通過菜單欄設(shè)置請求斷點212
10.2.2 通過命令行設(shè)置請求斷點214
10.2.3 通過過濾器設(shè)置請求斷點216
10.3 設(shè)置響應斷點218
10.3.1 通過菜單欄設(shè)置響應斷點219
10.3.2 通過命令行設(shè)置響應斷點220
10.3.3 通過過濾器設(shè)置響應斷點222
10.4 修改會話請求224
10.4.1 修改客戶端請求的HOST224
10.4.2 修改客戶端搜索的內(nèi)容231
10.4.3 修改請求標題和內(nèi)容不符234
10.5 修改會話響應238
10.5.1 刪除服務(wù)器響應體238
10.5.2 更換響應體文字240
10.5.3 更換響應體圖片243