TCP/IP header欄位註釋

myownstars發表於2014-11-15


識別符號(Identifier):長度16位元。該欄位和Flags和Fragment Offest欄位聯合使用,對較大的上層資料包進行分段(fragment)操作。路由器將一個包拆分後,所有拆分開的小包被標記相同的值,以便目的端裝置能夠區分哪個包屬於被拆分開的包的一部分。
 
標記(Flags):長度3位元。該欄位第一位不使用。第二位是DF(Don't Fragment)位,DF位設為1時表明路由器不能對該上層資料包分段。如果一個上層資料包無法在不分段的情況下進行轉發,則路由器會丟棄該上層資料包並返回一個錯誤資訊。第三位是MF(More Fragments)位,當路由器對一個上層資料包分段,則路由器會在除了最後一個分段的IP包的包頭中將MF位設為1。
 
片偏移(Fragment Offset):長度13位元。表示該IP包在該組分片包中位置,接收端靠此來組裝還原IP包。
 
生存時間(TTL):長度8位元。當IP包進行傳送時,先會對該欄位賦予某個特定的值。當IP包經過每一個沿途的路由器的時候,每個沿途的路由器會將IP包的TTL值減少1。如果TTL減少為0,則該IP包會被丟棄。
 
協議(Protocol):長度8位元。標識了上層所使用的協議。
以下是比較常用的協議號:
    1    ICMP
    2    IGMP
    6    TCP
   17    UDP
   88    IGRP
   89    OSPF
 
頭部校驗(Header Checksum):長度16位。用來做IP頭部的正確性檢測,但不包含資料部分。 因為每個路由器要改變TTL的值,所以路由器會為每個通過的資料包重新計算這個值。







Seq number:TCP連線建立時選擇隨機數作為初始值,通過SYN包傳給接收端主機(SYN cookies採用基於時間種子的隨機演算法,且傳送SYN+ACK後清空資源,收到ACK後通過cookie演算法鑑定與SYN+ACK是否匹配);每傳送一次資料,就累加一次資料位元組數;
Ack number:傳送端收到此序號表明之前的資料都已被成功接受,其值為收到的報文段序號+1;
Header length:標識該TCP頭部有多少個32bit字(4位元組)。因為4位最大能表示15,所以TCP頭部最長是60位元組。
Flags:
1 URG,為1表明有應急指標
2 ACK,除了SYN包外都為1,確認應答欄位有效
3 PSH,為1表明將接受的資料立即傳給上層協議,0則先進行快取
4 RST,1=強制斷開連線
5 SYN,1=建立連線
6 FIN,1=斷開連線
Window size: 指的是接收通告視窗(Receiver Window,RWND)。它告訴對方本端的TCP接收緩衝區還能容納多少位元組的資料,這樣對方就可以控制傳送資料的速度。
Checksum:由傳送端填充,接收端對TCP報文段執行CRC演算法以檢驗TCP報文段在傳輸過程中是否損壞。注意,這個校驗不僅包括TCP頭部,也包括資料部分
Urgent:緊急指標,從資料首位到此指標位置;多用於中斷通訊,如telent輸入ctrl+c


 


一個TCP/IP資料包至少有多大?
攻擊程式在填充包頭時,IP首部和TCP首部都不填充可選的欄位,因此IP首部長度恰好是20位元組,TCP首部也是20位元組,共40位元組。
對於乙太網來說,最小的包長度資料段必須達到46位元組,而攻擊報文只有40位元組,因此,網路卡在傳送時,會做一些處理,在TCP首部的末尾,填充6個0來滿足最小包的長度要求。這個時候,整個資料包的長度為14位元組的乙太網頭,20位元組的IP頭,20位元組的TCP頭,再加上因為最小包長度要求而填充的6個位元組的0,一共是60位元組。
乙太網在傳輸資料時,還有CRC檢驗的要求。網路卡會在傳送資料之前對資料包進行CRC檢驗,將4位元組的CRC值附加到包的最後面。這個時候,資料包長度已不再是40位元組,而是變成64位元組了,這就是常說的SYN小包攻擊,資料包結構如下:
|14位元組乙太網頭部|20位元組IP頭部|20位元組TCP|6位元組填充|4位元組檢驗||目的MAC|源MAC|協議型別| IP頭 |TCP頭|乙太網填充 | CRC檢驗 |







參考資料

http://www.51testing.com/html/66/138366-216709.html

http://blog.aliyun.com/232?spm=0.0.0.0.ARsJ5LIJ




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-1334334/,如需轉載,請註明出處,否則將追究法律責任。

相關文章