天天看點

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

文章目錄

  • 一、概念相關
    • 1.TCP
    • 2.HTTP
  • 二、Wireshark抓包
    • 1.Wireshark
    • 2.抓包
    • 3.抓包分析(三次握手)
  • 三、Fiddler檢視傳回資料
    • 1.軟體設定
  • 四、總結
  • 參考連結

一、概念相關

1.TCP

概念 TCP/IP是一種面向連接配接的、可靠的、基于位元組流的傳輸層通信協定,它會保證資料不丢包、不亂序。TCP位于網絡OSI模型中的第四層(Transport layer)。

特點

①TCP是面向連接配接的運輸層協定

②每一條TCP連接配接隻能有兩個端點,每一條TCP連接配接隻能是點對點的

③TCP提供可靠傳遞的服務

④TCP提供全雙工通信。資料在兩個方向上獨立的進行傳輸。是以,連接配接的每一端必須保持每個方向上的傳輸資料序号。

⑤面向位元組流。面向位元組流的含義:雖然應用程式和TCP互動是一次一個資料塊,但TCP把應用程式交下來的資料僅僅是一連串的無結構的位元組流。

三次握手和四次揮手

三次握手

用戶端發送SYN(SEQ=x)封包給伺服器端,進入SYN_SEND狀态。

伺服器端收到SYN封包,回應一個SYN (SEQ=y)ACK(ACK=x+1)封包,進入SYN_RECV狀态。

用戶端收到伺服器端的SYN封包,回應一個ACK(ACK=y+1)封包,進入Established狀态。

三次握手完成,TCP用戶端和伺服器端成功地建立連接配接,可以開始傳輸資料了。

四次揮手

建立一個連接配接需要三次握手,而終止一個連接配接要經過四次握手,這是由TCP的半關閉(half-close)造成的。

某個應用程序首先調用close,稱該端執行“主動關閉”(active close)。該端的TCP于是發送一個FIN分節,表示資料發送完畢。

接收到這個FIN的對端執行 “被動關閉”(passive close),這個FIN由TCP确認。

一段時間後,接收到這個檔案結束符的應用程序将調用close關閉它的套接字。這導緻它的TCP也發送一個FIN。

接收這個最終FIN的原發送端TCP(即執行主動關閉的那一端)确認這個FIN。

2.HTTP

概念

HTTP協定(超文本傳輸協定HyperText Transfer Protocol),它是基于TCP協定的應用層傳輸協定,簡單來說就是用戶端和服務端進行資料傳輸的一種規則。

HTTP 是一種無狀态 (stateless) 協定, HTTP協定本身不會對發送過的請求和相應的通信狀态進行持久化處理。這樣做的目的是為了保持HTTP協定的簡單性,進而能夠快速處理大量的事務, 提高效率。在許多應用場景中,我們需要保持使用者登入的狀态或記錄使用者購物車中的商品。由于HTTP是無狀态協定,是以必須引入一些技術來記錄管理狀态,例如Cookie。

特點

①支援客戶/伺服器模式。

②簡單快速:客戶向伺服器請求服務時,隻需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與伺服器聯系的類型不同。由于HTTP協定簡單,使得HTTP伺服器的程式規模小,因而通信速度很快。

③靈活:HTTP允許傳輸任意類型的資料對象。正在傳輸的類型由Content-Type加以标記。

④無連接配接:無連接配接的含義是限制每次連接配接隻處理一個請求。伺服器處理完客戶的請求,并收到客戶的應答後,即斷開連接配接。采用這種方式可以節省傳輸時間。

⑤無狀态:HTTP協定是無狀态協定。無狀态是指協定對于事務處理沒有記憶能力。缺少狀态意味着如果後續處理需要前面的資訊,則它必須重傳,這樣可能導緻每次連接配接傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

工作原理

HTTP是基于客戶/伺服器模式,且面向連接配接的。典型的HTTP事務處理有如下的過程:

客戶與伺服器建立連接配接;

客戶向伺服器提出請求;

伺服器接受請求,并根據請求傳回相應的檔案作為應答;

客戶與伺服器關閉連接配接。

二、Wireshark抓包

1.Wireshark

Wireshark 能擷取 HTTP,也能擷取 HTTPS,但是不能解密 HTTPS,是以 Wireshark 看不懂 HTTPS 中的内容,總結,如果是處理 HTTP,HTTPS 還是用 Fiddler,其他協定比 如 TCP,UDP 就用 Wireshark。

2.抓包

①根據選擇的網絡選取抓包對象

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

②統計->流量圖

勾選“顯示過濾器”,選擇流類型

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

3.抓包分析(三次握手)

①在過濾器内輸入http篩選資訊

選中其中一條,右鍵點選追蹤流->TCP流

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

②這條封包上面就會出現多條TCP,分别分析

第一次握手:同步請求

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

第二次握手:同步請求确認

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

第三次握手:請求确認

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

三、Fiddler檢視傳回資料

1.軟體設定

下載下傳好軟體後需要進行設定。

tools->options

勾選下面的頁籤

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

可以在左側看到到你所在的網站的資訊,網址,右側還有一些傳回資料等。

網絡抓包與HTTP協定一、概念相關二、Wireshark抓包三、Fiddler檢視傳回資料四、總結參考連結

四、總結

學會了如何使用Wireshark和Fillder,對于HTTP協定和TCP協定有了更深的了解,對于三次握手有了更加清晰的認識。學會了如何進行抓包。

參考連結

一篇文章讓你搞懂什麼是HTTP協定

關于TCP傳輸協定看這一篇就夠了

繼續閱讀