常見tcp ip協議結構定義

2021-09-30 09:34:21 字數 1934 閱讀 9664

#ifndef _proto_h_

#define _proto_h_

/**//*

* tcp/ip 協議型別

*/#define ipproto_ip 0 // ip

#define ipproto_icmp 1 // icmp

#define ipproto_tcp 6 // tcp

#define ipproto_udp 17 // udp

/**//*

* 常見埠

*/#define port_dns 53 // dns

/**//*

* 其它定義

*/#define eth_alen 6 // 乙太網位址大小

#define eth_hlen 14 // 乙太網頭部大小

#define eth_data_len 1500 // 最大幀負載資料大小

#define eth_frame_len 1514 // 最大幀大小,頭部+負載資料

/**//**

* 常見協議定義

**/#pragma pack(push, 1)

/**//*

*14位元組的乙太網包頭

*/typedef struct _ethdr

ethdr, *pethdr;

/**//*

*28位元組的arp頭

*/typedef struct _arphdr

arphdr, *parphdr;

/**//*

*20位元組的ip頭

*/typedef struct _iphdr

iphdr, *piphdr;

/**//*

*20位元組的tcp頭

*/typedef struct _tcphdr

tcphdr, *ptcphdr;

/**//*

*偽tcp頭,計算校驗和時使用

*/typedef struct _psdtcphdr

psdtcphdr, *ppsdtcphdr;

/**//*

*8位元組的udp頭

*/typedef struct _udphdr

udphdr, *pudphdr;

/**//*

*偽udp頭,計算校驗和時使用

*/typedef struct _psdudphdr

psdudphdr, *ppsdudphdr;

/**//*

*12位元組的icmp頭

*/typedef struct _icmphdr

icmphdr, *picmphdr;

/**//*

*6位元組的pppoe頭+2位元組協議

*/typedef struct _pppoehdr

pppoehdr, *ppppoehdr;

/**//*

* dns包頭

*/typedef struct _dnshdr

dnshdr, *pdnshdr;

/**//*

* dns查詢包,query

*/typedef struct _dnsquery

dnsquery, *pdnsquery;

/**//*

* dns響應包

*/typedef struct _dnsresponse

dnsresponse, *pdnresponse;

#pragma pack(pop)

#endif

TCP IP協議棧及常見協議結構

型別字段 0800 ip資料報 0806 arp請求 響應報文 版本 一般為4,表示ipv4 首部長度 一般為5,以4位元組為單位,表示20位元組的首部長度 總長度 以位元組為單位 標識 標誌 片偏移 與ip分組有關,同乙個報文下的分組具有相同的標識 df don t 1標誌位代表不能分組,mf m...

TCP IP協議資料報結構詳解

tcp ip協議中各層的資料報結構是乙個比較抽象的內容,大家在日常學習過程中往往難以理解和掌握,常常是死記硬背把它記住了事。本文首先利用sniffer工具捕獲了ftp命令操作過程中的所有資料報,然後對sniffer工具中捕獲的每一部分資料報的含義進行了詳細的闡述,最後總結歸納出tcp ip協議中網路...

TCP IP協議族體系結構

tcp ip協議族不是乙個協議,而是乙個四層協議系統,自下而上分別是資料鏈路層 網路層 傳輸層和應用層。每一層完成不同的功能,且通過若干協議來實現,上層協議使用下層協議提供的服務 上層和下層的關聯性 1 資料鏈路層 負責幀資料的傳遞。經過資料鏈路層封裝的資料稱為幀 資料鏈路層兩個常用的協議時arp ...