根據IP頭格式 寫sniff (轉)

worldblog發表於2007-12-11
根據IP頭格式 寫sniff (轉)[@more@]

我想開始熟悉最好的方法是透過自己編寫一些,
來學習有關網路的知識,並且對er常用的手法有一定的
瞭解。(不知大家同意嗎?) :-)

所以我整理了一些網路基礎知識,放在這裡。為什麼我們不
寫一個自己的sniff呢?讓我們從開始一起努力,寫些自己的


先是常用的IP頭格式。

IP頭格式
===========

版本號 (4位)
IP頭長度 (4位)
服務型別 (8位)
資料包長度 (16位)
標識段 (16位)
標誌段 (16位)
生存時間 (8位)
傳輸 (8位)
頭校驗和 (16位)
傳送地址 (16位)
目標地址 (16位)
選項
填充



簡單說明
============

1. IP頭長度計算所用單位為32位字, 常用來計算資料開始偏移量
2. 資料包長度用位元組表示, 包括頭的長度, 因此最大長度為65535
位元組
3. 生存時間表示資料被丟失前儲存在網路上的時間, 以秒計.
4. 頭校驗和的演算法為取所有16位字的16位和的補碼.
5. 選項長度是可變的, 填充區域隨選項長度變化, 用於確保長度
為整位元組的倍數.



C 描述
============

struct iphdr {
BYTE versionihl;
BYTE tos;
tot_len;
WORD id;
WORD frag_off;
BYTE ttl;
BYTE protocol;
WORD check;
DWORD saddr;
DWORD daddr;
/* Put options here. */
};


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

相關文章