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