1. 程式人生 > >http抓包實戰之http協議初始、fiddler初始

http抓包實戰之http協議初始、fiddler初始

wid window 超文本傳輸協議 輸出 技術 服務 英文 捕獲 通過

1、什麽是http協議?

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。

HTTP是一個基於TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。

HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經提出。

HTTP協議工作於客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求後,向客戶端發送響應信息。

以上比較官方哈哈哈~

2、工作原理

http協議的工作原理通俗來講,其實我們打開瀏覽器,在地址中輸入URL,就是我們常說的網址,然後就看到了對應的網頁。原理是怎樣的呢?

實際上,當我們輸入URL之後,瀏覽器就給web服務器一個請求,web服務器接收到了進行識別和處理,生成相應的http響應(HTTP response),然後再發送給瀏覽器,瀏覽器解析http響應中的HTML,這樣我們就看到了網頁,原理如下圖所示。

技術分享圖片

簡而言之就是,瀏覽器是老公、服務器是老婆。

老公說,老婆給我點零花錢,

老婆聽見了,聽聲音的確是自己家的老公,

老婆聽到了這個請求,想想是時候給了,

就把錢給了老公,老公拿到了錢就可以開始花了,

3、抓包工具fiddler介紹

fiddler應該是這個星球上最強大最好用的web調試工具了,可謂是曠古爍今。神器也!

他們記錄所有客戶端和服務器的http和https請求,允許你見識、設置斷點、甚至修改輸入輸出數據

可以理解為老婆和老公的管家,還兼職幹了點小三的活兒哈哈哈哈哈

4、fiddler的下載和安裝

官網直接下載、傻瓜式安裝

建議英文版、安裝路徑不要有中文

5、fiddler基本界面

技術分享圖片

最上面是主菜單、工具欄

左邊:會話列表

右邊分別是選項卡和功能面板

右下是命令欄

6、Inspectors選項卡

Inspectors選項卡下可以查看http請求和http響應的報文結構,其中raw選項卡可以產看完整的消息,

headers選項卡只能查看消息中的header

技術分享圖片

技術分享圖片

7、web sessions列表

會話列表,顯示抓到的http數據包

技術分享圖片

#:fiddler自動生成的ID

Result:響應的狀態碼

Protocol:使用的協議http或者https

Host:服務器的主機名和端口號

URL:路徑

Body:http響應的字節數

Cashing:跟緩存相關的字段的值

Content-type:響應Content-type的值

Process:對應本地windows的進程

8、fiddler如何設置開始捕獲和停止抓包

開始:打開fiddler就已經開始誅抓包

結束:F12鍵結束

9、http協議報文結構

報文分為兩個

http請求報文和http響應報文

http請求報文結構

起始行

首部

主體

http響應報文結構

起始行

首部

主體

總結:

response和request結構基本一樣,同樣分為三部分;

第一部分叫響應行,第二部分叫響應首部,第三部分是主體

起始行:狀態碼和狀態碼消息

首部:header

主體:body

註意:header和body之間有一個空行

不明白的可以在fiddler和www.baidu.com之間慢慢研究,碼字累!

10、fiddler抓包原理

fiddler是以代理服務器的形式存在的,代理地址為127.0.0.1,端口:8888,就是本機

相當於在客戶端和服務端設置了個收費站 (是不是很形象)

http抓包實戰之http協議初始、fiddler初始