#pragma once
#pragma pack(push,1)
struct ether_header //以太网V2头
{
unsigned char ether_dhost[6];
unsigned char ether_shost[6];
unsigned short ether_type;
};
struct ip_header //定义IP首部
{
unsigned char h_lenver; //4位首部长度+4位IP版本号
unsigned char tos; //8位服务类型TOS
unsigned short total_len; //16位总长度(字节)
unsigned short ident; //16位标识
unsigned short frag_and_flags; //3位标志位
unsigned char ttl; //8位生存时间 TTL
unsigned char proto; //8位协议 (TCP, UDP 或其他)
unsigned short checksum; //16位IP首部校验和
unsigned int sourceIP; //32位源IP地址
unsigned int destIP; //32位目的IP地址
};
struct tcp_header
{
unsigned short source_port; //发送端端口号,16位
unsigned short dest_port; //接收端端口号,16位
unsigned char sequence_no[4]; //32位,标示消息端的数据位于全体数据块的某一字节的数字
unsigned char ack_no[4]; //32位,确认号,标示接收端对于发送端接收到数据块数值
unsigned char dataoffset; // 高4位表示数据偏移
unsigned char flags; // 6位标志位
unsigned char window[2]; //窗口16位
unsigned
TCPIP协议头定义
最新推荐文章于 2023-07-04 15:13:57 发布