具體描述
				
				
					
編輯推薦
                                    本書附贈55個講解視頻,總價值149元 
體驗全新AR掃圖看視頻模式 
精通HTTP協議,快速掌握Fiddler抓包和JMeter發包 
 
本書包括以下內容 
HTTP、HTTPS協議介紹; 
使用Fiddler捕獲和修改HTTP包; 
Cookie機製和劫持攻擊測試; 
手機抓包和弱網測試; 
重放HTTP包; 
JMeter模擬自動登錄; 
JMeter壓力測試。 
 
本書特色 
本書是關於HTTP協議、Fiddler抓包工具、JMeter發包工具的實踐指南; 
包含很多有趣的實例,方便讀者動手操作; 
講解Fiddler工具的應用場景; 
有配套的理論和操作視頻; 
圖文並茂,方便讀者理解。                 內容簡介
   HTTP抓包利用Fiddler抓包工具來捕獲HTTP數據包,然後對其進行重發、編輯等操作。HTTP抓包的用途非常廣泛,主要用於Web開發調試、軟件自動化測、接口自動化測試、性能測試和網絡爬蟲等方麵。也用來檢查網絡安全。抓包也經常被用來進行數據截取等。 
本書主要圍繞抓包展開。全書共有22章,著重介紹瞭HTTP協議、如何使用Fiddler對HTTP包進行抓取,如何對HTTP進行分析,以及使用JMeter等工具來發送HTTP包以實現軟件的自動化測試。本書圖文並茂,實例豐富,還有配套的視頻教程,方便讀者參考並動手實踐。 
本書適閤前端開發工程師、測試工程師、綫上故障支持人員、接口開發人員和Web開發人員閱讀,也適閤對自動化測試感興趣的人員閱讀。     作者簡介
   肖佳, VMware高級測試工程師,博客園知名博主(網名小坦剋),撰寫瞭很多軟件開發和測試方麵的技術文章;有10多年的軟件開發測試經驗,有豐富的手動測試和自動化測試經驗;個人博客閱讀量已經超過500萬,樂於分享,善於用淺顯的語言來講解技術。     目錄
   第 1章 HTTP協議和Fiddler抓包 1 
1.1 HTTP協議介紹 1 
1.1.1 什麼是HTTP協議 1 
1.1.2 如何學習HTTP協議 1 
1.1.3 HTTP協議的工作原理 2 
1.2 Fiddler的介紹 2 
1.2.1 Fiddler的下載和安裝 3 
1.2.2 Fiddler的基本界麵 3 
1.2.3 Inspectors選項卡 4 
1.2.4 Web Sessions列錶 5 
1.2.5 Fiddler捕獲HTTP協議的 
數據包 5 
1.2.6 Fiddler設置開始捕獲和 
停止捕獲 6 
1.3 HTTP協議報文的結構 7 
1.3.1 HTTP請求報文的結構 7 
1.3.2 HTTP響應報文的結構 8 
1.3.3 Fiddler捕獲博客主頁, 
查看HTTP請求和HTTP 
響應報文 9 
1.4 Fiddler抓包的原理 10 
1.4.1 什麼是代理服務器 10 
1.4.2 Fiddler的工作原理 11 
1.4.3 查看Internet選項代理 
設置 11 
1.4.4 Fiddler如何捕獲Firefox 12 
1.4.5 Fiddler能捕獲哪些設備的 
HTTP數據包 13 
1.4.6 解壓HTTP響應 14 
第 2章 HTTPS協議和Fiddler抓包 15 
2.1 HTTP協議是不安全的 15 
2.2 Web通信如何做到安全 15 
2.3 什麼是HTTPS 17 
2.4 Fiddler如何捕獲HTTPS會話 17 
2.4.1 添加例外繞過HTTPS證件 
錯誤 18 
2.4.2 Firefox中安裝證書 20 
2.4.3 Fiddler可以捕獲HTTPS的 
握手驗證請求 21 
2.4.4 查看Windows本地安裝的 
證書 22 
第3章 HTTP協議請求方法和狀態碼 23 
3.1 URL詳解 23 
3.1.1 URL格式 23 
3.1.2 URL中的錨點 24 
3.2 HTTP請求方法 24 
3.2.1 GET方法 25 
3.2.2 帶參數的GET方法 26 
3.2.3 POST方法 26 
3.2.4 GET和POST方法的 
區彆 28 
3.3 HTTP狀態碼 28 
3.3.1 什麼是HTTP狀態碼 28 
3.3.2 狀態碼分類 28 
3.3.3 常見的狀態碼 29 
3.3.4 200(OK) 29 
3.3.5 204(No Content,沒有 
內容) 30 
3.3.6 206(Partial Content,部分 
內容) 31 
3.3.7 301(Moved 
Permanently) 32 
3.3.8 302(Found) 33 
3.3.9 301和302的區彆 33 
3.3.10 304(Not Modified) 34 
3.3.11 400(Bad Request) 34 
3.3.12 401(Unauthorized) 35 
3.3.13 403(Forbidden) 36 
3.3.14 404(Not Found) 36 
3.3.15 500(Internal Server 
Error) 36 
3.3.16 503(Server 
Unavailable) 38 
第4章 HTTP協議Header介紹 39 
4.1 HTTP Header介紹 39 
4.2 Fiddler查看HTTP請求Header 39 
4.2.1 Cache相關的Header 40 
4.2.2 Cookies 41 
4.2.3 Accept 41 
4.2.4 Accept-Encoding 41 
4.2.5 Accept-Language 41 
4.2.6 User-Agent 42 
4.2.7 實例:Fiddler修改User- 
Agent,僞裝客戶端 42 
4.2.8 Referer 43 
4.2.9 Connection 44 
4.2.10 Host 44 
4.3 Fiddler查看HTTP響應Header 44 
4.4 Fiddler查看和復製Header 45 
第5章 Web網頁抓包和Fiddler 
修改包 46 
5.1 網頁是如何打開的 46 
5.1.1 一個網頁的組成 46 
5.1.2 打開一個網頁,瀏覽器需要 
發送很多個請求 47 
5.1.3 用Fiddler查看一個Web頁麵 
打開的過程 47 
5.1.4 用Fiddler選擇請求 48 
5.2 Web頁麵簡單的性能測試 49 
5.3 使用Fiddler來查看響應 50 
5.4 Fiddler下斷點,修改HTTP報文 51 
5.4.1 Fiddler中設置斷點修改 
HTTP請求 51 
5.4.2 實例:Fiddler修改HTTP 
請求 52 
5.4.3 Fiddler中設置斷點修改 
HTTP響應 53 
5.4.4 Fiddler修改網頁的標題 54 
5.4.5 僞造Referer 55 
第6章 HTTP協議中的緩存 56 
6.1 緩存的概念 56 
6.2 緩存的優點 56 
6.3 Fiddler可以方便地查看緩存的 
Header 57 
6.4 如何判斷緩存新鮮度 57 
6.5 通過最後修改時間來判斷緩存 
新鮮度 58 
6.6 與緩存有關的Header 59 
6.7 ETag 60 
6.8 瀏覽器不使用緩存 61 
6.9 直接使用緩存,不去服務器 
驗證 62 
6.10 如何設置IE不使用緩存 63 
6.11 公有緩存和私有緩存的區彆 64 
第7章 HTTP協議壓縮和URL Encode 65 
7.1 HTTP壓縮的過程 65 
7.1.1 實例:Fiddler觀察HTTP 
壓縮 66 
7.1.2 內容編碼類型 67 
7.1.3 壓縮的好處 68 
7.1.4 Gzip的不足之處 68 
7.1.5 Gzip是如何壓縮的 68 
7.1.6 HTTP請求也是可以 
編碼的 68 
7.1.7 HTTP內容編碼和HTTP 
壓縮的區彆 69 
7.2 URL Encode介紹 69 
7.2.1 查詢字符串中包含漢字 69 
7.2.2 POST中的數據包含漢字 70 
7.3 Fiddler中的TextWizard 71 
第8章 Fiddler使用技巧 72 
8.1 Fiddler和其他抓包軟件的比較 72 
8.2 Fiddler抓不到包應該怎麼解決 73 
8.3 如何找到想抓的包 73 
8.4 Fiddler異常退齣後無法上網 73 
8.5 Fiddler排序 74 
8.6 Fiddler中查詢會話 74 
8.7 Fiddler中保存抓到的包 75 
8.8 Fiddler中編輯會話 75 
8.9 過濾會話 75 
8.10 常用快捷鍵 76 
8.11 QuickExec命令行的使用 77 
8.12 Fiddler比較會話的不同 78 
8.13 Fiddler插件 79 
8.13.1 JavaScript Formatter 79 
8.13.2 Gallery插件 79 
第9章 Fiddler前端快速調試 81 
9.1 如何在服務器上調試JavaScript 
文件 81 
9.2 Fiddler AutoResponder的工作 
原理 82 
9.3 Fiddler在綫調試JavaScript文件 82 
9.4 浪漫的程序員 85 
9.5 替換網頁中的圖片 86 
第 10章 Fiddler的Script用法 89 
10.1 Fiddler Script介紹 89 
10.2 Fiddler Script Editor 90 
10.3 CustomRules.js中的主要方法 91 
10.4 Fiddler定製菜單 92 
10.5 修改Session在Fiddler的顯示 
樣式 92 
10.6 修改HTTP請求 93 
10.6.1 修改HTTP請求中的 
Cookie 93 
10.6.2 替換HTTP請求的Host 
地址 94 
10.6.3 修改HTTP請求中的 
Header 94 
10.6.4 修改HTTP請求中的 
Body 95 
10.7 修改HTTP響應 95 
10.8 讀寫txt文件 96 
10.9 使用正則錶達式 96 
10.10 保存Session 97 
10.11 讀取Session,並且使用Fiddler 
來發送 97 
第 11章 深入理解Cookie機製 98 
11.1 HTTP協議是無狀態的 98 
11.2 會話機製 98 
11.3 Cookie機製 100 
11.4 Cookie是什麼 100 
11.5 Cookie的作用 101 
11.6 抓包觀察上海科技館網站的 
登錄 102 
11.7 Cookie的屬性 103 
11.8 Cookie的分類 104 
11.9 Cookie保存在哪裏 104 
11.10 使用和禁用Cookie 105 
11.11 網站自動登錄的原理 106 
11.12 Cookie和文件緩存的區彆 106 
11.13 Cookie泄露隱私 107 
第 12章 Fiddler實現Cookie劫持 
攻擊 108 
12.1 截獲Cookie冒充彆人身份 108 
12.2 Cookie劫持的原理 108 
12.3 Cookie劫持實例介紹 109 
12.3.1 找到登錄的Cookie 109 
12.3.2 瀏覽器中植入Cookie 111 
12.4 網站退齣的作用 112 
第 13章 HTTP基本認證 113 
13.1 什麼是HTTP基本認證 113 
13.1.1 路由器管理頁麵使用基本 
認證 114 
13.1.2 HTTP基本認證的優點 117 
13.1.3 HTTP基本認證的缺點 117 
13.1.4 使用TextWizard工具 117 
13.1.5 客戶端的使用 117 
13.2 摘要認證 118 
第 14章 Fiddler手機抓包 119 
14.1 環境準備 119 
14.2 Fiddler截獲手機原理圖 119 
14.3 截獲手機發齣的HTTP包有什麼 
作用 120 
14.4 手機抓包 120 
14.4.1 配置Fiddler允許“遠程 
連接” 120 
14.4.2 獲取Fiddler所在機器的 
IP地址 121 
14.4.3 手機上設置代理 
服務器 121 
14.4.4 測試Fiddler捕獲手機 
發齣的HTTP 123 
14.4.5 捕獲手機上的HTTPS 123 
14.4.6 Apple設備需要使用插 
件製作新證書 123 
14.4.7 iOS設備安裝證書方法 124 
14.4.8 Android設備安裝證書 
方法一 125 
14.4.9 Android設備安裝證書 
方法二 126 
14.4.10 測試Fiddler捕獲手機的 
HTTPS 127 
14.5 設置過濾 127 
14.6 如何卸載證書 128 
14.7 手機抓包提醒 128 
第 15章 Fiddler發送HTTP請求 129 
15.1 Fiddler Composer發送HTTP 
請求 129 
15.1.1 Composer發送Get 
請求 129 
15.1.2 Composer的編輯模式 130 
15.1.3 Composer發送Post 
請求 130 
15.1.4 Composer編輯之前捕獲的 
HTTP請求 131 
15.2 Fiddler重新發送HTTP請求 131 
15.2.1 Replay菜單 131 
15.2.2 簡單的性能測試 132 
15.2.3 先編輯再發送 133 
15.3 安全測試之重放攻擊 133 
15.3.1 重放攻擊是怎麼發生的 133 
15.3.2 重放攻擊的危害 133 
15.3.3 重放攻擊的解決方案 133 
15.3.4 APP驗證碼重放 134 
15.4 查找和登錄相關的Cookie 136 
第 16章 Fiddler實現弱網測試 139 
16.1 什麼是弱網 139 
16.2 弱網環境帶來的問題 140 
16.3 弱網測試的目的 140 
16.4 弱網的場景 140 
16.5 Fiddler模擬網絡延遲 140 
16.6 精確控製網速 141 
16.7 Fiddler模擬網絡中斷 142 
16.8 實例:Fiddler返迴500狀態碼 142 
16.9 Fiddler模擬網絡超時 143 
第 17章 自動化測試和接口測試 144 
17.1 自動化測試分類 144 
17.2 分層的自動化測試理念 144 
17.3 Web自動化測試的兩種思路 146 
17.4 什麼是接口測試 146 
17.5 接口測試工具 147 
17.6 Web原理 147 
17.7 Web自動化測試原理 148 
17.8 性能測試的原理 148 
17.9 APP的後颱測試 149 
17.10 如何學習Web自動化測試和 
性能測試 149 
第 18章 JMeter工具使用介紹 151 
18.1 JMeter介紹 151 
18.2 JMeter的下載和運行 151 
18.3 創建測試任務 152 
18.4 添加HTTP請求 153 
18.5 實例:密碼用MD5加密 154 
第 19章 JMeter天氣接口自動化測試 160 
19.1 天氣查詢的例子 160 
19.2 天氣查詢網站抓包 160 
19.3 抓包分析 161 
19.4 獲取城市地區代碼 162 
 
19.5 處理JMeter中HTTP響應 
亂碼 163 
19.6 添加驗證點 164 
19.7 使用用戶自定義變量 165 
19.8 正則錶達式提取城市地區代碼 166 
19.9 獲取天氣 167 
第 20章 JMeter中BeanShell的用法 169 
20.1 什麼是BeanShell 169 
20.2 操作變量 169 
20.3 JMeter有哪些BeanShell 170 
20.4 BeanShell調用自己寫的jar包 
進行MD5加密 171 
第 21章 自動登錄禪道和自動開Bug 174 
21.1 HTTP Cookie管理器 174 
21.2 HTTP請求默認值 175 
21.3 禪道介紹和部署 175 
21.4 禪道操作和抓包分析 176 
21.4.1 第 一步,自動登錄禪道 176 
21.4.2 第二步,創建一個新的 
Bug 181 
21.4.3 第三步,找到剛剛新建 
Bug的ID 184 
21.4.4 第四步,修改Bug狀態為 
“已解決” 185 
21.4.5 第五步,關閉Bug 187 
21.4.6 總結 187 
第 22章 JMeter給網站做壓力測試 188 
22.1 案例介紹 188 
22.2 壓力測試的目的 188 
22.3 抓包分析Mozy網站的登錄 
過程 189 
22.4 抓包分析 190 
22.5 實現Mozy登錄 191 
22.6 簡單的壓力測試 193    
				
				
				
					《深入理解網絡協議:從底層到應用》  一、 引言:重塑網絡認知,洞悉數據流動之秘  在信息爆炸的時代,網絡已成為我們生活中不可或缺的組成部分。無論是瀏覽網頁、收發郵件,還是使用各類在綫服務,其背後都離不開復雜精密的網絡協議在默默運作。然而,大多數用戶對這些協議的理解往往停留在“能用”的層麵,對其工作原理、通信機製乃至潛在的安全風險知之甚少。  《深入理解網絡協議:從底層到應用》旨在帶領讀者跨越錶象,直擊網絡通信的核心。本書並非羅列枯燥的技術條文,而是以嚴謹的邏輯、豐富的案例,循序漸進地揭示網絡協議的奧秘,幫助讀者構建起一個清晰、完整的網絡認知體係。從物理層信號的傳遞,到應用層服務的實現,本書將為您一一解析。我們相信,掌握瞭網絡協議的精髓,您將不再是網絡的被動使用者,而是能主動洞察、分析乃至優化網絡通信的行傢。  二、 內容精要:構建係統化網絡知識框架  本書以分層模型為基礎,詳細闡述瞭TCP/IP協議族中各個核心協議的運作原理、功能特性以及相互之間的協作關係。全書內容可大緻劃分為以下幾個關鍵部分:  第一部分:網絡基礎與底層協議     物理層與數據鏈路層:        信號與介質: 深入探討不同傳輸介質(如銅綫、光縴、無綫電波)的物理特性,以及它們如何承載數據信號。介紹信號的編碼、調製解調技術,以及電磁乾擾、信號衰減等物理限製。        網絡接口與MAC地址: 詳解以太網(Ethernet)等局域網技術。闡述MAC地址的唯一性與分層結構,以及ARP(地址解析協議)如何在IP地址和MAC地址之間建立映射關係。        交換與幀: 講解數據鏈路層協議如何封裝數據為“幀”(Frame),以及交換機(Switch)如何根據MAC地址進行幀的轉發,實現局域網內的高效通信。介紹VLAN(虛擬局域網)的概念及其作用。        差錯控製與流量控製: 探討數據鏈路層如何通過校驗和(Checksum)等機製檢測和糾正傳輸錯誤,以及滑動窗口(Sliding Window)等技術如何實現基本的流量控製,避免數據丟失。     網絡層:IP協議的靈魂        IP地址與子網劃分: 詳盡解析IPv4和IPv6的地址結構、類彆劃分、私有地址與公有地址的區彆。深入講解子網劃分(Subnetting)的原理與實踐,以及CIDR(無類彆域間路由)如何優化IP地址分配。        IP數據包的封裝與轉發: 剖析IP數據包的頭部結構,包括源IP、目標IP、TTL(生存時間)等關鍵字段的含義。詳細闡述路由器(Router)如何根據IP地址查找路由錶,進行數據包的轉發,實現跨網絡的通信。        路由協議: 介紹靜態路由與動態路由的概念。深入講解RIP(路由信息協議)、OSPF(開放最短路徑優先)、BGP(邊界網關協議)等主流動態路由協議的工作原理、適用場景以及它們如何協同工作,構建起互聯網的路由骨乾。        ICMP協議: 詳細介紹ICMP(Internet Control Message Protocol)協議,包括其消息類型(如Echo Request/Reply, Destination Unreachable, Time Exceeded等),以及ping、traceroute等工具如何利用ICMP實現網絡診斷和故障排除。  第二部分:傳輸層:可靠與高效的橋梁     TCP協議:麵嚮連接的可靠通信        TCP的三次握手與四次揮手: 詳細解析TCP建立連接(三次握手)和斷開連接(四次揮手)的完整過程,以及每個步驟中數據包的交換細節,理解其如何保證連接的可靠性。        TCP的可靠性機製: 深入講解TCP如何實現可靠傳輸,包括序列號(Sequence Number)、確認應答(Acknowledgment Number)、超時重傳(Timeout Retransmission)、纍積確認(Cumulative Acknowledgment)等機製。        TCP的流量控製與擁塞控製: 重點闡述TCP的滑動窗口機製如何實現流量控製,避免接收方過載。詳細講解擁塞控製算法(如慢啓動、擁塞避免、快重傳、快恢復)的工作原理,以及TCP如何動態調整發送速率以應對網絡擁塞,保證網絡的整體性能。        TCP端口與套接字: 介紹TCP端口的概念,以及進程如何通過套接字(Socket)進行通信。     UDP協議:麵嚮無連接的高速通道        UDP的特點與應用: 講解UDP(User Datagram Protocol)的無連接、不可靠、低開銷的特性,以及它適用於對實時性要求高、對少量丟包容忍度高的場景,如DNS查詢、音視頻流媒體、在綫遊戲等。        UDP數據報文: 分析UDP數據報文的頭部結構。  第三部分:應用層:豐富多彩的網絡服務     DNS協議:域名解析的幕後英雄        域名係統結構: 介紹DNS(Domain Name System)的層級結構(根域名服務器、頂級域名服務器、權威域名服務器等)。        DNS查詢過程: 詳細解析遞歸查詢(Recursive Query)和迭代查詢(Iterative Query)的流程,以及DNS緩存的作用。        DNS記錄類型: 講解A記錄、AAAA記錄、CNAME記錄、MX記錄、NS記錄等常見DNS記錄類型的含義與用途。     HTTP協議:Web世界的基石        HTTP的版本與演進: 迴顧HTTP/1.0, HTTP/1.1, HTTP/2, HTTP/3(QUIC)等主要版本的演進曆程,以及它們在性能、安全性、功能上的改進。        HTTP請求與響應: 詳細解析HTTP請求報文(請求方法、URL、請求頭、請求體)和響應報文(狀態碼、響應頭、響應體)的構成要素,以及常見請求方法(GET, POST, PUT, DELETE等)和狀態碼(2xx, 3xx, 4xx, 5xx)的含義。        HTTP頭部詳解: 深入剖析Cookie, Cache-Control, User-Agent, Referer等關鍵HTTP頭部字段的作用,以及它們如何影響瀏覽器行為和服務器響應。        HTTPS與TLS/SSL: 講解HTTPS如何通過TLS/SSL(Transport Layer Security/Secure Sockets Layer)協議為HTTP通信提供加密和身份驗證,保障Web安全的原理,包括證書的概念、握手過程等。     其他重要應用層協議:        FTP(文件傳輸協議): 介紹FTP的控製連接與數據連接,以及文件上傳下載的基本流程。        SMTP, POP3, IMAP(電子郵件協議): 闡述電子郵件發送、接收的完整流程,以及各協議的角色。        SSH(安全外殼協議): 講解SSH如何實現安全的遠程登錄和文件傳輸。        DHCP(動態主機配置協議): 介紹DHCP如何自動分配IP地址,簡化網絡配置。  第四部分:網絡安全與故障排查     網絡安全基礎:        常見網絡攻擊: 介紹DDoS(分布式拒絕服務)、ARP欺騙、SQL注入、XSS(跨站腳本攻擊)等常見網絡攻擊的原理和防範措施。        防火牆與入侵檢測係統: 講解防火牆的工作原理,以及入侵檢測係統(IDS)和入侵防禦係統(IPS)的作用。    網絡故障排查工具與技巧:        命令行工具: 深入講解ping, traceroute, nslookup, netstat, tcpdump等常用網絡診斷命令的使用方法和分析技巧。        流量分析: 結閤抓包工具(如Wireshark)的原理,指導讀者如何捕獲網絡流量,分析TCP/IP協議棧的通信過程,定位網絡問題。  三、 學習價值與讀者群體  《深入理解網絡協議:從底層到應用》適閤以下讀者群體:     計算機科學與技術、網絡工程等相關專業的學生: 為您打下堅實的理論基礎,理解課程知識的實踐意義。    軟件開發者與架構師: 幫助您深入理解應用程序與網絡交互的底層機製,優化應用性能,設計更 robust 的網絡服務。    網絡工程師與係統管理員: 提升您的網絡故障診斷與排查能力,更高效地維護和管理網絡。    網絡安全從業者: 為您提供理解網絡攻擊與防禦的堅實基礎,洞察潛在的安全漏洞。    對網絡技術充滿好奇的愛好者: 帶領您探索互聯網世界的奧秘,理解日常網絡操作背後的原理。  四、 本書特色     理論與實踐相結閤: 每一個協議的講解都輔以清晰的圖示和生動的案例,幫助讀者理解抽象的概念。    由淺入深,循序漸進: 從基礎的物理層概念,逐步深入到復雜的應用層協議,確保讀者能夠平滑過渡。    強調協議之間的關聯性: 詳細闡述不同協議層級之間如何協同工作,構建起一個完整的通信體係。    注重實際應用: 引導讀者利用各種工具分析網絡流量,將理論知識應用於解決實際的網絡問題。    語言通俗易懂,邏輯清晰: 避免使用過於晦澀的專業術語,用平實的語言解釋復雜的概念,力求邏輯嚴謹,易於理解。  五、 結語  網絡協議是現代信息社會的基石。深入理解這些協議,不僅能夠幫助我們更好地利用現有技術,更能激發我們對未來網絡發展的思考與創新。《深入理解網絡協議:從底層到應用》將是您通往網絡技術深層世界的絕佳嚮導,幫助您構建起一套係統、紮實的網絡知識體係,讓您在數字化浪潮中遊刃有餘。