一、Fiddler
1.工具欄中各個按鈕的含義
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps1.jpg)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps2.jpg):配置windows中特定應用的抓包(預設抓取不到)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps3.jpg):添加備注資訊
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps4.jpg):重新發起指定請求
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps5.jpg):清空指定會話内容
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps6.jpg):斷點放行
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps7.jpg):模式切換
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps8.jpg):相應資料解碼
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps9.jpg):顯示會話數
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps10.jpg)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps11.jpg):抓取指定程序發出的請求
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps12.jpg):關鍵字查找
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps13.jpg):儲存目前的會話資料
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps14.jpg):截圖+計時
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps15.jpg):打開浏覽器
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps16.jpg):清空緩存
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps17.jpg):加密/解密
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps18.jpg):浮窗顯示詳細内容
2.任務面闆功能詳解
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps19.jpg)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps20.jpg):fiddler腳本
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps21.jpg):日志
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps22.jpg):過濾規則配置
Use filters:啟用過濾規則
Hosts:
show only the following hosts 隻展示指定的hosts
Hide the following hosts:隐藏指定的hosts
Flag the following hosts:标記指定的hosts
Clients process
Request headers
Response headers
Breakpoints
Response status code
Response content-type
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps23.jpg):時間線
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps24.jpg):會話資料統計
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps25.jpg):請求+響應詳情
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps26.jpg)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps27.jpg)
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps28.jpg):模拟服務端響應
添加響應規則,抓取到的請求如果滿足已啟用規則,則會被fiddler攔截,并傳回規則中設定的相應内容(請求不會被發送伺服器)
可以手動輸入規則内容,也可以直接從會話清單中拖拽到autoresponder中
Regex:使用正規表達式進行比對
Exact:精确比對
Method:比對請求方法
Header:比對請求頭
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps29.jpg):模拟用戶端請求
可以手動輸入規則内容,也可以直接從會話清單中拖拽到composer中
添加規則後,點選execute按鈕即可發送請求
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps30.jpg):抓取移動端流量
3.斷點
在rules菜單下選擇automatic breakpoints
(1)請求前斷點,選擇before request(快捷鍵F11)
請求發出後會被fiddler攔截(此時請求還未被發送到服務端),攔截後就可以修改請求内容,修改完成後點選請求資訊視窗中的run to completion按鈕或工具欄中的go按鈕即可放行(此時修改後的請求會被發送到服務端)
(2)響應後斷點,選擇after response(快捷鍵Alt+F11)
服務端響應請求後會被fiddler攔截(此時響應内容還未被發送到用戶端),攔截後就可以修改響應内容,修改完成後點選響應資訊視窗中的run to completion按鈕或工具欄中的go按鈕即可放行(此時修改後的響應資訊會被發送到服務端)
(3)關閉斷點功能,disabled(快捷鍵Shift+F11)
4.常用指令
(1)?+關鍵字,從protocol、host、url三個字段中進行模糊比對,高亮顯示比對到的請求
(2)@+關鍵字,從host字段中進行模糊比對,高亮顯示比對到的請求
(3)<+數字,與body的大小作比較,高亮顯示小于指定數字的請求
(4)>+數字,與body的大小作比較,高亮顯示大于指定數字的請求
(5)=+狀态碼,與result作比較,高亮顯示等于指定狀态碼的請求
(6)cls,清空目前會話清單中的所有請求
(7)dump,轉存目前會話清單的所有請求資料
(8)Select+空格+關鍵字,從content-type中進行模糊比對,高亮顯示比對到的請求
(9)start,開啟代理
(10)stop,關閉代理
(11)bpu+空格+關鍵字,從protocol、host、url三個字段中進行模糊比對,攔截比對到的請求
(12)bpm/bpv+空格+method,攔截指定的方法的請求
(13)bps+空格+狀态碼,攔截指定響應狀态碼的請求
(14)bpafter+空格+關鍵字,從protocol、host、url三個字段中進行模糊比對,攔截比對到的響應
(15)g/go,放行目前被攔截的請求或響應
(16)Alt+Q:光标定位到指令行的快捷鍵
5.Fiddler允許移動端抓包
(1)Tools--options--https:全部勾選
(2)Tools--options--connections:
勾選allow remote computers to connect
端口号預設:8888
(3)移動端和PC端在同一個網絡下
(4)移動端設定代理ip為PC的ip,端口号為:8888(與fiddler中設定的端口号保持一緻)
(5)如果要抓https的包,在移動端通路: http://<pc端ip>:8888,下載下傳證書安裝,并設定信任證書
(6)如果所有配置都已配好,還是無法正常抓包,可以檢視移動裝置型号是否需要額外配置
6.模拟弱網
(1)在FiddlerScript中搜尋m_SimulateModem,修改上傳和下載下傳的延遲時長,即可達到模拟弱網的目的
二、HTTP協定
- 超文本傳輸協定
-
檢視網頁源代碼:滑鼠右鍵選擇'檢視網頁源代碼'
常見标簽:
input img i a button link span
-
http的特點
(1) 無連接配接(不是不連接配接,是不保持連接配接)
(2) 媒體獨立(約定的 mime-type)
(3) 無狀态(沒有記憶力)
-
http和tcp /ip的差別
(1) tcp協定傳輸資料,HTTP進行解釋
(2) http是無連接配接,tcp是有連接配接
(3) http是無狀态,tcp是有狀态
(4) http是應用層協定,tcp是傳輸層協定
-
http請求内容
(1) request
Request method: 請求方法 (get post)
Request URL: 請求位址
Request headers: 請求頭
-
Content-type:指定接收資料的格式Accept:指定可接受資料類型
Accept-language:指定用戶端可接受語言類型
- Accept-length:指定用戶端可接受的資料長度
- Accept-encoding:指定用戶端可接受的編碼格式
- Cookies:存放在用戶端本地的身份認證資訊
- Host:伺服器主機位址
- User-agent:用戶端系統和系統版本,浏覽器和浏覽器版本
- Referer:請求是從哪裡發出來的,可以用來鑒别爬蟲資料
Request body: 請求體(post 要傳的參數一般放在body中進行傳輸)
- Application/x-www-form-urlencoded:表單資料
- Mutipart-form:表單資料(可傳檔案),
(2) response
Response status: 響應狀态碼
Response headers: 響應頭
Response body: 響應體
(3)
常見請求方法
get:從伺服器擷取資訊
傳參方式:一般直接在url上面跟要傳的參數,參數和路徑之間用?間隔,不同參數之間用&間隔
post:修改伺服器的資訊
傳參方式:一般在body 中跟要傳的參數
form-data:表單形式,既可以傳文本,也可以傳檔案
**x-www-form-urlencoded:表單形式,隻能傳文本,不能傳檔案 **
Raw:支援多種格式:
text:純文字
javascript:js腳本
json:按照json資料格式的要求傳參
html:網頁源代碼
xml:xml配置檔案
binary:二進制檔案
put:更新伺服器的文檔資訊
patch:更新伺服器文檔的局部資訊
delete:删除指定頁面
head: 擷取響應頭,無響應體
Connect:預留給代理伺服器用來建立連接配接管道
Options:允許檢視服務端性能
Trace:回顯伺服器的請求,用于測試診斷
資料>>>>
- Fiddler接口抓包神器使用教程
- GitBook 基本原理.html
三、Json資料
1.json(javascript object notation------js對象表示法) 是一種輕量級資料交換格式,獨立于語言和平台.
2.json文法規則
(1)鍵值對(同一層中key不能重複)
(2)鍵和值之間用冒号間隔
(3)每組資料間用逗号隔開
(4)值可以是:字元串,數字,數組,對象,bool值,null