IP头和TCP头数据结构(C#版)
IP头和TCP头数据结构(C#版)
public struct ip_hdr //IP头
{
public byte h_lenver; //4位首部长度+4位IP版本号
public byte tos; //8位服务类型TOS
public ushort total_len; //16位总长度(字节)
public ushort ident; //16位标识
public ushort frag_and_flags; //3位标志位+13报片偏移
public byte ttl; //8位生存时间 TTL
public byte proto; //8位协议 (TCP, UDP 或其他)
public ushort checksum; //16位IP首部校验和
public uint sourceIP; //32位源IP地址
public uint destIP; //32位目的IP地址
}
public struct tcp_hdr //TCP头
{
public ushort th_sport; //16位源端口
public ushort th_dport; //16位目的端口
public uint th_seq; //32位序列号
public uint th_ack; //32位确认号
public byte th_lenres; //4位首部长度/6位保留字
public byte th_flag; //6位标志位
public ushort th_win; //16位窗口大小
public ushort th_sum; //16位校验和
public ushort th_urp; //16位紧急数据偏移量
}
public struct ip_hdr //IP头
{
public byte h_lenver; //4位首部长度+4位IP版本号
public byte tos; //8位服务类型TOS
public ushort total_len; //16位总长度(字节)
public ushort ident; //16位标识
public ushort frag_and_flags; //3位标志位+13报片偏移
public byte ttl; //8位生存时间 TTL
public byte proto; //8位协议 (TCP, UDP 或其他)
public ushort checksum; //16位IP首部校验和
public uint sourceIP; //32位源IP地址
public uint destIP; //32位目的IP地址
}
public struct tcp_hdr //TCP头
{
public ushort th_sport; //16位源端口
public ushort th_dport; //16位目的端口
public uint th_seq; //32位序列号
public uint th_ack; //32位确认号
public byte th_lenres; //4位首部长度/6位保留字
public byte th_flag; //6位标志位
public ushort th_win; //16位窗口大小
public ushort th_sum; //16位校验和
public ushort th_urp; //16位紧急数据偏移量
}
-----------------------------------------------------------------