您好,登錄后才能下訂單哦!
// i386 is little_endian.
#ifndef LITTLE_ENDIAN
#define LITTLE_ENDIAN (1) //BYTE ORDER
#else
#error Redefine LITTLE_ORDER
#endif
//Mac頭部,總長(zhǎng)度14字節(jié)
typedef struct _eth_hdr
{
unsigned char dstmac[6]; //目標(biāo)mac地址
unsigned char srcmac[6]; //源mac地址
unsigned short eth_type; //以太網(wǎng)類(lèi)型
}eth_hdr;
//IP頭部,總長(zhǎng)度20字節(jié)
typedef struct _ip_hdr
{
#if LITTLE_ENDIAN
unsigned char ihl:4; //首部長(zhǎng)度
unsigned char version:4, //版本
#else
unsigned char version:4, //版本
unsigned char ihl:4; //首部長(zhǎng)度
#endif
unsigned char tos; //服務(wù)類(lèi)型
unsigned short tot_len; //總長(zhǎng)度
unsigned short id; //標(biāo)志
unsigned short frag_off; //分片偏移
unsigned char ttl; //生存時(shí)間
unsigned char protocol; //協(xié)議
unsigned short chk_sum; //檢驗(yàn)和
struct in_addr srcaddr; //源IP地址
struct in_addr dstaddr; //目的IP地址
}ip_hdr;
//TCP頭部,總長(zhǎng)度20字節(jié)
typedef struct _tcp_hdr
{
unsigned short src_port; //源端口號(hào)
unsigned short dst_port; //目的端口號(hào)
unsigned int seq_no; //序列號(hào)
unsigned int ack_no; //確認(rèn)號(hào)
#if LITTLE_ENDIAN
unsigned char reserved_1:4; //保留6位中的4位首部長(zhǎng)度
unsigned char thl:4; //tcp頭部長(zhǎng)度
unsigned char flag:6; //6位標(biāo)志
unsigned char reseverd_2:2; //保留6位中的2位
#else
unsigned char thl:4; //tcp頭部長(zhǎng)度
unsigned char reserved_1:4; //保留6位中的4位首部長(zhǎng)度
unsigned char reseverd_2:2; //保留6位中的2位
unsigned char flag:6; //6位標(biāo)志
#endif
unsigned short wnd_size; //16位窗口大小
unsigned short chk_sum; //16位TCP檢驗(yàn)和
unsigned short urgt_p; //16為緊急指針
}tcp_hdr;
//UDP頭部,總長(zhǎng)度8字節(jié)
typedef struct _udp_hdr
{
unsigned short src_port; //遠(yuǎn)端口號(hào)
unsigned short dst_port; //目的端口號(hào)
unsigned short uhl; //udp頭部長(zhǎng)度
unsigned short chk_sum; //16位udp檢驗(yàn)和
}udp_hdr;
//ICMP頭部,總長(zhǎng)度4字節(jié)
typedef struct _icmp_hdr
{
unsigned char icmp_type; //類(lèi)型
unsigned char code; //代碼
unsigned short chk_sum; //16位檢驗(yàn)和
}icmp_hdr;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。