網路封包大剖析:HTTP 介面自動化測試原理

網路封包大剖析:HTTP 介面自動化測試原理

作者: 肖佳
出版社: 深智數位
出版在: 2021-07-19
ISBN-13: 9789860776096
ISBN-10: 9860776091
裝訂格式: 平裝
總頁數: 400 頁





內容描述


用Fiddler、Wireshark、JMeter、Selenium玩轉網路封包
自動化、測試、秒殺、搶票最佳實戰
【本書特色】
◎實例豐富:作者多年介面測試的經驗總結,幫助解決實際工作中的難題。
◎圖文並茂:讀者閱讀無障礙,容易上手。
【本書內容】
本書不僅全面介紹如何使用Fiddler 進行HTTP 封包截取,還提供豐富的應用場景實戰範例。除了介紹HTTP 封包截取及其應用,還介紹許多Web應用方面的相關知識。全書內容深入淺出、圖文並茂,閱讀起來非常輕鬆。對HTTP 封包截取技術的知識系統重新進行了梳理,加入了作者在工作中新的實踐、新的歸納。
全書分為30章,每章的內容都搭配實例和大量的圖片,方便讀者參考並動手實踐。讀者可以很快學完一章,每學一章都會有成就感。
第1~11章中補充了一些HTTP的知識,包括如何使用Fiddler來抓HTTP封包、如何分析HTTP封包。
第12~22章則介紹如何透過JMeter、Postman和Python+requests來發送HTTP封包,以實現軟體自動化測試和介面的自動化測試。
第23~26章中,透過列舉很多有意思的案例,介紹如何使用封包截取工具來實現安全測試和性能測試。
最後的第27~30章,則運用本書所說明的內容,實現幾個日常生活中應用比較廣泛的綜合實例。
適合讀者群  前端開發工程師、測試工程師、線上故障排除技術人員、介面開發人員和Web開發人員。


目錄大綱


前言
01封包截取的用處
1.1 Fiddler 封包截取的應用 
1.2 學習HTTP
1.3 爬蟲
1.4 Fiddler 在測試中的作用 
1.5 前端開發人員使用Fiddler偵錯Web
1.6 後端開發人員使用Fiddler封包截取
1.7 安全測試
1.8 檢查網站的簡單問題 
1.9 自動化小工具的開發
1.10 概念的區別 
1.11 本章小結
02 Fiddler 如何封包截取
2.1 Fiddler 必須要做的3 個設定 
2.2 不允許封包截取 
2.3 Fiddler 抓不到封包
2.4 Fiddler 封包太多找不到自己想要的 
2.5 HTTPS 是否安全
2.6 電腦連接手機熱點封包截取
2.7 用Fiddler 測試App 升級
2.8 短網址
2.9 本章小結 
03 Session 分類和查詢
3.1 Session 的概念 
3.2 為什麼Fiddler 中有這麼多Session
3.3 Session 的類型
3.4 搜索Session 
3.5 用命令列工具查詢Session 
3.6 給Session 下中斷點 
3.7 本章小結 
04 FiddlerScript 的進階用法
4.1 FiddlerScript 的介面 
4.2 Fiddler 的事件函數 
4.3 在FiddlerScript 中使用正規表示法 
4.4 忽略封包截取 
4.5 顯示用戶端和伺服器的IP
4.6 顯示回應時間 
4.7 讀寫本機txt 檔案
4.8 保存請求 
4.9 重新發送請求
4.10 本章小結 
05 常見的封包截取工具
5.1 常見的封包截取工具 
5.2 瀏覽器開發者工具
5.3 vConsole
5.4 Charles 封包截取工具 
5.5 Wireshark 封包截取工具
5.6 本章小結 
06 用Python 發送HTTP請求
6.1 requests 框架介紹
6.2 發送GET 請求
6.3 發送POST 請求 
6.4 階段維持 
6.5 用Python 發送各種請求
6.6 用Python 下載檔案
6.7 本章小結 
07 用正規表示法提取資料
7.1 正規表示法測試工具 
7.2 利用正規表示法提取資料
7.3 提取訂單號 
7.4 提取token 字串
7.5 從JSON 字串中提取
7.6 提取Cookie 字串
7.7 爬蟲提取資料 
7.8 本章小結 
08 HTTP 的9 種請求方法
8.1 HTTP 常見的9 種請求方法
8.2 HTTP 冪等性
8.3 9 種請求方法的特性 
8.4 HTTP 和資料的增刪改查操作的對應關係
8.5 PUT 方法
8.6 DELETE 方法
8.7 HEAD 方法 
8.8 OPTIONS 方法 
8.9 CONNECT 方法
8.10 PATCH 方法 
8.11 TRACE 方法 
8.12 本章小結 
09 內容類別
9.1 Content-Type 介紹 
9.2 POST 提交資料的方式
9.3 3 種常見的POST 提交資料的方式 
9.4 HTTP 中的負荷 
9.5 錯誤的POST 提交方法 
9.6 根據介面文件呼叫介面實例 
9.7 鍵值對和JSON 的混合 
9.8 本章小結 
10 HTTP 上傳和下載
10.1 HTTP 上傳檔案的兩種方式 
10.2 multipart/form-data 
10.3 application/octet-stream
10.4 用HTTP 下載檔案
10.5 HTTP 中斷點續傳
10.6 本章小結 
11 HTTP 對各種類型程式的封包截取
11.1 用Fiddler 抓取視訊 
11.2 用Fiddler 抓音訊檔案
11.3 用Fiddler 抓Flash
11.4 用Fiddler 抓公眾號
11.5 用Fiddler 封包截取小程式
11.6 用AJAX 封包截取
11.7 用Fiddler 封包截取C# 
11.8 用Fiddler 封包截取Java
11.9 用Fiddler 封包截取Postman 
11.10 用Fiddler 捕捉macOS 
11.11 用Fiddler 捕捉Linux 系統 
11.12 用Fiddler 封包截取堅果雲 
11.13 本章小結 
12 自動登入和登入安全
12.1 登入的較量 
12.2 登入的風險 
12.3 登入的風控
12.4 登入用GET 還是POST
12.5 安全的原則
12.6 使用POST 方法登入的網站
12.7 登入回應攜帶隱藏的token 字串
12.8 用JavaScript 中的MD5給密碼加密
12.9 用JavaScript 動態加密密碼 
12.10 簡訊驗證碼登入 
12.11 二維碼掃碼登入
12.12 拼圖登入 
12.13 普通圖片驗證登入 
12.14 獨特的驗證方式 
12.15 本章小結
13 圖片驗證碼辨識
13.1 圖片驗證碼 
13.2 用Python 實現圖片驗證碼登入
13.3 本章小結
14 綜合實例—自動按讚
14.1 給文章自動按讚
14.2 用JMeter 實現博客園文章自動按讚 
14.3 使用Python 實現博客園文章自動按讚 
14.4 本章小結
15 前端和後端
15.1 Web 架構圖
15.2 前端開發和後端開發的區別
15.3 前端驗證和後端驗證
15.4 後端驗證的Bug
15.5 Fiddler 繞過前端實現投票
15.6 後台和後台管理的區別
15.7 本章小結 
16 介面和介面測試
16.1 介面的概念 
16.2 登入介面範例 
16.3 介面文件的維護 
16.4 介面測試的工具 
16.5 介面測試的本質 
16.6 介面測試的目的
16.7 登入介面的測試使用案例 
16.8 介面測試是自動化測試嗎
16.9 如何設計介面測試使用案例 
16.10 介面內部狀態碼
16.11 本章小結
17 JSON 資料格式
17.1 JSON 格式在介面中的應用 
17.2 JSON 的概念
17.3 JSON 的應用場合
17.4 JSON 的語法
17.5 JSON 值的類型
17.6 JSON 應該使用雙引號
17.7 JSON 陣列
17.8 JSON 的巢狀結構
17.9 JSON 格式錯誤
17.10 JSON 解析工具
17.11 拼接JSON 字串
17.12 JMeter 中的JSON 提取器
17.13 本章小結 
18 HTTP 和RESTful服務
18.1 什麼是RESTful
18.2 RESTful 的優點 
18.3 RESTful 的主要原則
18.4 本章小結
19 用Postman 測試分頁介面
19.1 介面介紹
19.2 設計測試使用案例 
19.3 用Postman 實現介面自動化
19.4 介面測試的發展方向 
19.5 本章小結
20 用JMeter 測試單一介面
20.1 JMeter 介紹 
20.2 增加客房介面介紹
20.3 設計介面的測試使用案例 x
20.4 JMeter 的操作過程
20.5 資料驅動測試
20.6 本章小結 
21 介面的token 認證
21.1 介面的認證
21.2 token 認證
21.3 token 和Cookie 一起用
21.4 在JMeter 中如何處理token 字串
21.5 介面的三大安全性問題
21.6 請求參數被篡改 
21.7 重放攻擊
21.8 本章小結
22 發送封包常見的錯誤
22.1 發送封包的本質 
22.2 比較HTTP 請求
22.3 用JMeter 發送封包常見的錯誤 
22.4 Postman 發送封包常見問題
22.5 JMeter 和Postman 的區別 
22.6 介面測試尋求幫助
22.7 本章小結
23 秒殺活動的壓力測試
23.1 秒殺活動的壓力測試方案
23.2 使用Fiddler 來測試秒殺活動
23.3 捕捉App 上的優惠券活動
23.4 使用JMeter 來測試秒殺活動 
23.5 壓力測試報告
23.6 本章小結
24 用Fiddler 和JMeter進行性能測試
24.1 性能測試概述
24.2 Web 頁面載入時間測試
24.3 介面的回應時間測試
24.4 視訊播放的性能測試
24.5 模擬5 個使用者同時登入網站 
24.6 模擬5 個不同的使用者同時登入網站
24.7 本章小結 
25 HTTP 中的支付安全測試
25.1 修改支付價格 
25.2 漏洞發生的原因 
25.3 支付漏洞的解決方法 
25.4 修改充值金額測試 
25.5 多執行緒提現測試 
25.6 轉帳金額修改測試 
25.7 重複支付 
25.8 本章小結 
26 Web 安全滲透測試
26.1 敏感資訊洩露測試
26.2 重置密碼測試 
26.3 修改任意帳號的電子郵件密碼
26.4 Cookie 是否是HttpOnly屬性
26.5 越權存取漏洞
26.6 資源必須登入才能存取
26.7 修改VIP 會員到期時間 
26.8 本章小結 
27 綜合實例—自動提交訂單
27.1 背景 
27.2 回歸測試 
27.3 讓回歸測試自動化 
27.4 產品的架構
27.5 自動化測試方案 
27.6 哪些測試使用案例可以自動化 
27.7 下單的測試使用案例
27.8 用JMeter 實現自動提交訂單
27.9 用Python 實現自動提交訂單
27.10 用JMeter 實現自動取消訂單 
27.11 用Python 實現自動取消訂單
27.12 模擬100 個使用者同時下1000 個訂單
27.13 本章小結
28 綜合實例—自動申請帳號
28.1 一鍵申請帳號
28.2 用JMeter 實現自動創建使用者
28.3 本章小結
29 綜合實例—自動簽到領積分
29.1 自動簽到的想法 
29.2 手機封包截取 
29.3 某電子商務簽到領豆子
29.4 某金融App 簽到
29.5 自動運行指令稿
29.6 本章小結 
30 綜合實例—App 約課幫手
30.1 App 約課幫手的想法
30.2 自動化方案
30.3 模擬App 端還是Web 端
30.4 網課約課幫手開發 
30.5 本章小結


作者介紹


作者簡介
肖佳
Vmware高級測試工程師,博客園知名博主(網名小坦克),「佳貓教育」創始人。
從事軟體發展測試工作十餘年,有豐富的手動測試和自動化測試經驗,個人博客閱讀量已經超過500萬,樂於分享,擅長用淺顯的語言來講解技術。




相關書籍

Linux Shell Scripting Bootcamp

作者 James Kent Lewis

2021-07-19

C語言從入門到精通案例視頻版(彩色版)

作者 丁亞濤

2021-07-19

從實踐中學習 Kali Linux 無線網絡滲透測試

作者 大學霸IT達人

2021-07-19