协议分析中的TCP/IP网络协议
“?TCP/IP協議作為互聯網的基礎,在協議分析中不可或缺,本文介紹在對協議進行分析還原的過程中的一些要點,快速掌握協議還原的精髓。”
注意,本文比較枯燥乏味,若非需要了解TCP/IP協議相關信息,建議繞行。
TCP/IP協議是一個網絡通信模型,以及一整個網絡傳輸協議家族,是互聯網基礎協議。 該協議家族的兩個核心協議:TCP和IP。
TCP/IP協議模型的四層結構如下圖所示:
?
在Wireshark中,一個普通TCP數據報文的鏈路層對應MAC地址,網絡層對應IP地址,傳輸層對應TCP端口,應用層對應數據體部分。
01
—
鏈路層
第一層包含源mac及目的mac,隨著傳輸路徑的變化會發生變化,在mac之后,是下層網絡協議的類型,圖中,下層為IP協議。
在協議解析中,需要關注的是圖中type這個字段的內容。
02
—
網絡層
在TCP/IP協議中,網絡層主要內容為IP地址,根據IP頭結構進行解析即可獲得每項的內容。需要關注的是:
總長度 total length:為整個IP報文,從IP層到整個報文最后的長度。
分片標記 fragment flag:標識是否IP分片,如果IP分片的話要有分片處理過程。
傳輸層協議 transmission protocol:標記下層使用的協議,如TCP、UDP等,本文中為TCP協議。
源IP source ip:源IP地址。
目的IP destination ip:目的IP地址。
03
—
傳輸層
傳輸層協議用來保障傳輸的過程,對TCP而言,同樣根據TCP頭結構即可進行解析獲得每項的內容。
TCP協議中,需要關注源及目的端口,它們與網絡層的源及目的地址構成四元組,同一個數據流,必然擁有相同的四元組,當然,流的上下行,源與目的是按對組織的,在協議解析中,四元組是不可忽略的。
對TCP,使用當前報文序號及響應報文序號來保障協議的可靠性,對協議解析而言,我們需要使用報文序號及響應序號來進行報文排序,即通常說的TCP排序,在解析中,一般而言,單向排序即可解決問題。
當前報文序號即圖中的sequence num,響應報文序號即acknowledge number,在同一個方向中sequence num加上傳輸的data的長度即為下一個報文的sequence num,即圖中的next sequence num。另外,序號是相對與一條連接的第一個報文的相對值,兩個方向獨立編號。
04
—
應用層
應用層就是傳輸的具體內容,一般而言,就是需要解析的部分了。
對TCP承載的協議還原,切記,TCP排序及根據四元組建立會話會極大地提高解析效率。
掃我進行關注。
總結
以上是生活随笔為你收集整理的协议分析中的TCP/IP网络协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wireshark分析实战:某达速递登录
- 下一篇: 简单文件传输协议TFTP分析还原