-02年网络协议结构体


,,,/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */,
,,
,,,#定义ETHER_ADDR_LEN 6//网卡物理地址占6字节,,
,,#定义MAXDATA 10240,,
,,/*

,,,数据包中TCP包的头、IP包的头,UDP包头,ARP包,以太网包等。
,,,以及各种表。路由寻址表,地址解析协议表DNS表等
,,,*/,

,,,#定义ETHERTYPE_IP 0 x0800 ,//IP Protocal ,
,,#定义ETHERTYPE_ARP 0 x0806 ,//地址解析Protocal ,
,,#定义ETHERTYPE_REVARP 0 x0835 ,//反向地址解析协议逆地址解析协议,,
,,/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */,


,,,//ethernet ,
,,typedef struct ether_header,
,,,{,
,,,,,,u_char ether_dhost [ETHER_ADDR_LEN];,
,,,,,,u_char ether_shost [ETHER_ADDR_LEN];,
,,,,,,u_short ether_type;,
,,}ETH_HEADER;,


,,,//arp ,
,,typedef struct arphdr,
,,,{,
,,,,,,u_short ar_hrd;,
,,,,,,u_short ar_pro;,
,,,,,,u_char ar_hln;,
,,,,,,u_char ar_pln;,
,,,,,,u_short ar_op;,
,,}ARP_HEADER;,

,,,//IP报头,,
,,typedef struct ip,
,,,{,
,,,,,,u_int ip_v: 4;//版本(版本),,
,,,,,,u_int ip_hl: 4;//标题长度(报头长度),,
,,,,,,u_char ip_tos;,
,,,,,,u_short ip_len;,
,,,,,,u_short ip_id;,
,,,,,,u_short ip_off;,
,,,,,,u_char ip_ttl;,
,,,,,,u_char ip_p;,
,,,,,,u_short ip_sum;,
,,,,,,struct in_addr ip_src;,
,,,,,,struct in_addr ip_dst;,
,,}IP_HEADER;,



,,,//TCP报头结构体,,
,,typedef struct tcphdr ,
,,{,
,,,,,,u_short th_sport;,
,,,,,,u_short th_dport;,
,,,,,,u_int th_seq;,
,,,,,,u_int th_ack;,
,,,,,,u_int th_off: 4;,
,,,,,,u_int th_x2:4;,
,,,,,,u_char th_flags;,
,,,,,,u_short th_win;,
,,,,,,u_short th_sum;,
,,,,,,u_short th_urp;,
,,}TCP_HEADER;,

,,,#定义TH_FIN 0 x01 ,
,,#定义TH_SYN 0 x02 ,
,,#定义TH_RST 0 x04 ,
,,#定义TH_PUSH 0 x08 ,
,,#定义TH_ACK 0 x10 ,
,,#定义TH_URG 0 x20 ,

,,,//UDP报头结构体*/,,
,,typedef struct udphdr ,
,,{,
,,,,,,u_short uh_sport;,
,,,,,,u_short uh_dport;,
,,,,,,u_short uh_ulen;,
,,,,,,u_short uh_sum;,
,,}UDP_HEADER;,
,


,,,/* ARP与以太网生成的报头*/,
,,,typedef struct ether_arp,
,,,{,
,,,,,,struct arphdr ea_hdr;,
,,,,,,u_char arp_sha [ETHER_ADDR_LEN];,
,,,,,,null

-02年网络协议结构体