根據IP頭格式 寫sniff (轉)
我想開始熟悉最好的方法是透過自己編寫一些,
來學習有關網路的知識,並且對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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 根據ip獲取城市
- 根據IP定位地理位置
- 根據IP獲取國家
- 根據 IP 獲取省市名稱
- 根據IP獲取國家省市
- js根據IP地址判斷城市JS
- JAVA根據IP地址獲取詳細的地域資訊(轉)Java
- 根據 Promises/A+ 手寫 PromsiePromise
- nginx 根據IP 進行灰度釋出Nginx
- 根據MAC地質反查IP工具-LanHelperMac
- 根據block的16進位制格式轉化成10進製表示BloC
- 爬蟲實現:根據IP地址反查域名爬蟲
- js根據ip地址獲取所在城市JS
- [轉]根據PE檔案格式獲取LoadLibraryA()/GetProcAddress()地址
- 根據 Promises/A+規範 手寫 PromsiePromise
- js根據ip地址獲取省份城市的方法JS
- js根據IP地址獲取當前的省市JS
- react根據json格式資料動態增加domReactJSON
- WPF TextBlock根據值顯示不同的內容或格式BloC
- js根據ip地址獲取城市地理位置JS
- 根據ip列表檢測主機狀態(shell指令碼)指令碼
- JSF/JAVA 根據IP獲取客戶端Mac地址JSJava客戶端Mac
- IP地址從頭說(轉)
- 根據提示操作
- 在 NGINX 中根據使用者真實 IP 進行限制Nginx
- 根據業務寫觸發器(oracle觸發器片)觸發器Oracle
- Linux下的 sniff-andthen-spoof程式編寫Linux
- 超簡單的 Python 根據使用者ip查詢位置Python
- 根據字典,轉成相應的進位制
- FreeBSD根據Windows網路設定Samba(轉)WindowsSamba
- 根據需要動態include不同的檔案 (轉)
- VL59 根據RTL圖編寫Verilog程式
- Map根據Value排序排序
- 手把手教你根據PromiseA+手寫一個Promise類Promise
- 可以根據心情自動選擇音樂 智慧頭戴耳機Vinci
- 根據副檔名識別檔案型別(轉)型別
- 根據Interceptor 分析 OkHttp(一)HTTP
- java 根據日期取得星期Java