單看這麼一張圖,彷彿ip包頭的結構是乙個二維的多行多列結構,事實上它應當是乙個只有一行的資料,但是擺不開,擺的開也看不見。
現在這個東西,包括之前的,都是基於ipv4的基礎上進行的。之前提到過乙個叫mtu的概念,如果本層的資料大於這個mtu,此時就會對上兩層來的資料進行拆分,為了拆分以後的資料可以準確的重組,需要在拆分後的每一段資料前新增乙個ip包頭,通過這個頭部來確定如何組合。
版本(4位):該欄位定義ip協議版本,負責向處理機所執行的ip軟體指明此ip資料報是哪個版本,所有欄位都要按照此版本的協議來解釋。如果計算機使用其他版本,則丟棄資料報。
或者說頭部長度(4位):該欄位定義資料報協議頭長度,表示協議頭部具有32位字長的數量。協議頭最小值為5,最大值為15。
服務(8位):該欄位定義上層協議對處理當前資料報所期望的服務質量,並對資料報按照重要性級別進行分配。前3位成為優先位,後面4位成為服務型別,最後1位沒有定義。這些8位欄位用於分配優先順序、延遲、吞吐量以及可靠性。
總長度(16位):該欄位定義整個ip資料報的位元組長度,包括協議頭部和資料,也就是上三層的總長度/ip包的總長度。其最大值為65535位元組。
標識(16位):該欄位包含乙個整數,用於識別當前資料報。當資料報分段時,標識欄位的值被複製到所有的分段之中。該字段由傳送端分配幫助接收端集中資料報分段。
用人話來說,就是用這麼一段值來區分原本是不同資料的資料段,值相同的即拆分自同一條資料。標誌(3位):該字段由3位欄位構成,其中最低位(mf)控制分段,存在下乙個分段置為1,否則置0代表該分段是最後乙個分段。中間位(df)指出資料報是否可進行分段,如果為1則機器不能將該資料報進行分段。第三位即最高位保留不使用,值為0。
例如我們使用的ping -f
即會對此段的中間位產生影響。
也叫分段偏移(13位):該欄位指出分段資料在源資料報中的相對位置,支援目標ip適當重建源資料。
也就是這個值決定了扔出去的分段的順序。
如果朝瘋狂傳送這個數值不連續的資料報,目標機器就會不停的嘗試重組。winxp早期及之前版本,這個操作會一直重複進行,也就會導致cpu飈到100%。在以後的win版本中重組失敗會丟棄資料報,但重組過程仍然會占用系統資源。這是一種ddos攻擊的形式。生存時間(8位):該字段是一種計數器,在丟棄資料報的每個點值依次減1直至減少為0。這樣確保資料報擁有有限的環路過程(即ttl),限制了資料報的壽命。
windows系統ttl一般為128linux系統一般為1-128之間,如56,64
有了這個數值,路由環路就不會囤積資料報。協議(8位):該欄位指出在ip處理過程完成之後,有哪種上層協議接收匯入資料報。另外正常的實際通訊中,ttl衰減的值遠小於規定值。
這個欄位的值對接收方的網路層了解資料屬於哪個協議很有幫助。首部校驗和(16位):該欄位幫助確保ip協議頭的完整性。由於某些協議頭字段的改變,這就需要對每個點重新計算和檢驗。計算過程是先將校驗和字段置為0,然後將整個頭部每16位劃分為一部分,將個部分相加,再將計算結果取反碼,插入到校驗和字段中。6代表tcp,17代表udp
該字段在ipv4資料報從源主機到目的主機傳輸期間必須保持不變。
該字段在ipv4資料報從源主機到目的主機傳輸期間同樣必須保持不變。
分析IP協議資料報格式
目的 1 掌握ip協議的作用和格式 2 理解ip資料報首部各字段的含義 3 掌握ip資料報首部校驗和的計算方法。工具 1 軟體工具 抓包分析工具 wireshark 2 作業系統 windows7 dos 3 區域網環境。原理 1 ip協議位於網路層,是tcp ip協議簇中的核心協議,提供資料傳輸 ...
IP網路協議抓包分析
一 配置 1 網路位址規劃表 主機ip 子網掩碼 預設閘道器 mac位址 192.168.43.121 255.255.255.0 192.168.43.174 18 56 80 84 35 db 2 配置源位址 開啟電腦 網路和共享中心 點選 本地連線 單擊 屬性 選擇 internet 協議版本...
Wireshark實戰分析之IP協議(一)
1 什麼是ip協議?網際網路協議ip是internet protocol的縮寫,中文縮寫問哦 網協 ip協議位於osi模型中的第三層也就是網路層,其主要目的是使得網路之間能夠互相通訊。上一次說的arp協議,通過分析發現它是依靠mac位址傳送資料的。但是當arp以廣播的方式傳送arp請求時,需要確保所...