Version 4 IP头的版本号,目前是IPv4,最新是IPv6
Header Length 4 IP头的长度,若没有特殊选择,IP头总是20字节长
Type of Service 8 服务类型,定义了数据传输的优先级、延迟、吞吐量和可靠性等特性
Total Packet Length 16 IP包的长度,若没有特殊选项,一般为20字节长
Identification 16 IP包标识,主机使用它唯一确定每个发送的数据报
Flag 3 IP数据分割标志
Fragment Offset 13 IP数据分割偏移
Time to Live 8 数据报在网络上的存活时间,每通过一个路由器,该数值减一
Protocol 8 TCP/IP协议类型,比如:ICMP为1,IGMP为2,TCP为6,UDP为17等
Header Checksum 16 头部检验和
Source IP Address 32 源IP地址
Destination IP Address 32 目的IP地址
Other 其他选项
Data 数据
struct iphdr
     {
       unsigned char ihl:4, version:4, tos;
       unsigned short tot_len, id, frag_off;
       unsigned char ttl, protocol;
       unsigned short check;
       unsigned int saddr, daddr;
     };
    
     struct igmphdr
     {
       unsigned char type, code;
       unsigned short cksum;
       struct in_addr group;
     };
typedef struct ethdr
{
     unsigned char   eh_dst[6];
     unsigned char   eh_src[6];
     unsigned short eh_type;
} 
struct udphdr
{
     unsigned short souceport;
     unsigned short destport;
     unsigned short length;
     unsigned short checksum;
} 
struct tcphdr { unsigned short source;
        unsigned short dest;
        unsigned long seq;
        unsigned long ack_seq;        
        unsigned short doff:4;
        unsigned char flags;
        unsigned short window;        
        unsigned short check;
        unsigned short urg_ptr;
};
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号