python爬蟲基礎17-抓包工具使用


01 抓包工具原理

HTTP

由於HTTP請求是沒有加密的,也沒有做任何驗證,所以抓包工具直接將請求轉發即可。

HTTPS

由於HTTPS請求,客戶端會使用服務端的證書來加密數據,而且會驗證服務端是否是真正的目標服務端。

 

 

所以抓包工具在抓包HTTPS請求時,會進行偽裝。

首先用抓包工具自己的證書向客戶端偽裝成服務端,然后向服務端發送請求時偽裝成客戶端。

以此來實現數據的抓取和轉發。

 

Fiddler

官方網站下載安裝即可:

https://www.telerik.com/fiddler

 

 

基本可以說目前最為全面和強大的抓包工具就是fiddler了,使用也不算麻煩。

 

 

Fiddler也在官網上有提供非常詳細的文檔和教程,如果使用的時候遇到問題,可以直接查閱官網文檔。

有做任何驗證剛剛也說到了,抓包工具抓取HTTPS的包的時候跟HTTP的直接轉發是不同的。所以我們需要配置HTTPS的證書。

 

打開后選擇HTTPS,勾選上這個選項,然后勾選上下方出現的兩個選項。最后再將彈出的窗口都選擇yes。

 

 

 

02 抓包工具的使用

工具欄

 

1.#:Session的序號

2.Result:請求的響應狀態碼

3.Protocol:請求的協議類型

4.Host:域名

5.URL:請求的url

6.Body:響應體的大小

7.Caching:緩存方式

8.Content-Type:響應的數據類型

9.Process:發起請求的進程

10.Comments:注釋

1.給session添加一個注釋

2.Replay:將目標session再發送一次

3.刪除session

4.將斷點的session恢復執行

5.Decode:將傳輸的數據解碼成容易閱讀的格式

6.Find:查找session

7.Save**:**將session保存成本地文件

8.Clear Cache:清除緩存

Session窗口

 

1.#:Session的序號

2.Result:請求的響應狀態碼

3.Protocol:請求的協議類型

4.Host:域名

5.URL:請求的url

6.Body:響應體的大小

7.Caching:緩存方式

8.Content-Type:響應的數據類型

9.Process:發起請求的進程

10.Comments:注釋

同時,每一個session都有不同的顏色,不同的顏色代表不一樣的session類型。

 

Inspectors標簽頁

 

請求數據窗口

1.Headers:報頭

2.TextView:查看文本數據

3.Syntax:根據語法格式查看

4.WebForms:Web表單

5.HexView:查看十六進制數據

6.Cookies:查看請求的Cookies

7.Json:查看json格式數據

響應數據窗口

1.Transformer:解壓方式

2.Headers:報頭

3.TextView:查看文本數據

4.Syntax:根據語法格式查看

5.ImageView:查看圖片

6.WebForms:Web表單

7.HexView:查看十六進制數據

8.Cookies:查看響應設置的Cookies

9.Json:查看json格式數據

03 查找過濾**Session**

Filters選項卡

 

我們在抓包的時候常常會遇到非常雜亂的請求,而我們需要去分析的往往只是其中很小的一部分,那么我們就需要從許多請求中過濾出我們需要的那些請求。

1.是否使用Filters。

2.Filters的規則是可以保存和加載的,也就是我們可以把規則保存下來以后再用。

3.根據Host域名來進行篩選。

4.根據客戶端的進程來進行篩選。

5.根據請求的Headers來進行篩選。

6.斷點:Fiddler的斷點功能能夠讓請求在發送后,或者是在返回時暫停,這時候就能夠對請求和響應進行相應的修改。

7.根據響應的狀態碼篩選。

8.根據響應的類型和大小來進行篩選。

9.根據響應的Headers來進行篩選。

Find查找

 

使用快捷鍵ctrl+f或者在工具欄中選擇find來打開查找窗口,查找窗口可以從所有session中搜索到我們想要的session

1.文本輸入框。

2.可以選擇搜索的范圍,限定在僅Requests或者response中,也可以選擇限定在headers或bodies中。

3.是否區分大小寫。

4.是否用正則表達式來搜索。

5.僅僅搜索被選中的session。

6.將搜索到的結果高亮,可以選擇顏色。

命令行查找

 

在Fiddler中同樣也是可以使用命令行來進行搜索的,在圖中的黑框中輸入命令即可。

1.select命令:搜索相應類型的session,也就是content-type。

2.?命令:根據URL來進行搜索。

3.=命令:根據狀態碼來進行搜索。

4.@命令:僅根據域名進行搜索。

04 斷點

設置斷點是Fiddler最強大的功能之一,在設置好斷點后,Fiddler會捕捉所有經過的消息,我們可以任意修改HTTP請求信息,包括Host、Cookies或表單的數據。可以設置斷點修改request,也可以設置斷點修改response。

斷點方式有兩種,一種是通過菜單欄設置全局的斷點,一種是通過命令行設置指定的斷點

 

全局斷點

在菜單欄中選擇Rules

Automatic Breakpoints,即可選擇斷點方式。有兩個選擇,分別是在請求往服務器發送的時候暫停,和在響應返回到客戶端的時候暫停。

指定斷點

指定斷點需要輸入指定的命令來進行斷點:

1.bpu(breakpointurl):在指定網頁發起請求后暫停。如:bpu www.baidu.com

2.bpafter(breakpointafter):在指定網頁返回響應時暫停。

3.bpm(breakpointmethod):中斷指定請求方式的請求。如:bpm get

4.bps(breakpointstatus):中斷指定狀態碼的session。如:bps 200


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM