//NTP协议
typedef struct _NTP_HEADER
{
uint8_t _flags;//Flags 0xdb
uint8_t _pcs;//Peer Clock Stratum
uint8_t _ppt;//Peer Polling Interval
uint8_t _pcp;//Peer Clock Precision
uint32_t _rdy;//Root Delay
uint32_t _rdn;//Root Dispersion
uint32_t _rid;//Reference ID
uint64_t _ret;//Reference Timestamp
uint64_t _ort;//Origin Timestamp
uint64_t _rct;//Receive Timestamp
uint64_t _trt;//Transmit Timestamp
}ntp_header,*pntp_header; //MAC协议
typedef struct _MAC_HEADER
{
unsigned char dstmac[];//目的MAC
unsigned char srcmac[];//源MAC
unsigned short type;//协议
}mac_header,*pmac_header; //ARP协议
typedef struct _ARP_HEADER
{
unsigned short hardware;//硬件类型
unsigned short protocol;//协议类型
unsigned char hardwarelen;//硬件地址长度(6)
unsigned char protocollen;//协议地址长度(4)
unsigned short operate;//操作类型(1-ARP请求 2-ARP应答 3-RARP请求 4-RARP应答)
unsigned char sendmac[];//发送端MAC地址
in_addr sendip;//发送端IP地址
unsigned char dstmac[];//目的端MAC地址
in_addr dstip;//目的端IP地址
}arp_header,*parp_header; //RARP协议
typedef struct _RARP_HEADER
{
unsigned short hardware;//硬件类型
unsigned short protocol;//协议类型
unsigned char hardwarelen;//硬件地址长度(6)
unsigned char protocollen;//协议地址长度(4)
unsigned short operate;//操作类型(1-ARP请求 2-ARP应答 3-RARP请求 4-RARP应答)
unsigned char sendmac[];//发送端MAC地址
unsigned char sendip[];//发送端IP地址
unsigned char dstmac[];//目的端MAC地址
unsigned char dstip[];//目的端IP地址
}rarp_header,prarp_header; //IP协议
typedef struct _IP_HEADER
{
unsigned char headerlen:; //首部长度
unsigned char version:; //版本
unsigned char tos; //服务类型
unsigned short total_len; //总长度
unsigned short id; //标志
unsigned short frag_off; //分片偏移
unsigned char ttl; //生存时间
unsigned char protocol; //协议
unsigned short chk_sum; //检验和
struct in_addr srcaddr; //源IP地址
struct in_addr dstaddr; //目的IP地址
}ip_header,*pip_header; //TCP协议
typedef struct _TCP_HEADER
{
unsigned short srcport;//源端口
unsigned short dstport;//目的端口
unsigned int seq_no;//序列号
unsigned int ack_no;//确认号
unsigned char reserved_1:;//保留位
unsigned char headerlen:;//协议头长度
unsigned char flag:;//6位标志
unsigned char reserved_2:;//保留位
unsigned short wnd_size;//窗口大小
unsigned short chk_sum;//校验和
unsigned short urgt_p;//紧急指针
}tcp_header,*ptcp_header; //UDP协议
typedef struct _UDP_HEADER
{
unsigned short srcport;//源端口号
unsigned short dstport;//目的端口号
unsigned short headerlen;//UDP长度
unsigned short chk_sum;//校验和
}udp_header,*pudp_header; //ICMP协议
typedef struct _ICMP_HEADER
{
unsigned char type;//类型
unsigned char code;//代码
unsigned short chk_sum;//校验和
}icmp_header,*picmp_header; //IGMP
typedef struct _IGMP_HEADER
{
unsigned char type:;//类型
unsigned char version:;//版本
unsigned char reserved;//未用
unsigned short chk_sum;//校验和
in_addr addr;//D类IP地址
}igmp_header,*pigmp_header;

c++ 常见网络协议头的更多相关文章

  1. 简单了解下OSI七层模型的作用以及常见网络协议含义和所用端口

    OSI七层模型及每层的作用 包括:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层物理层用来建立.维护.断开物理连接数据链路层建立逻辑链接.进行硬件地址寻址.差错校验等功能网络层进行逻辑地址 ...

  2. PHP网络协议相关考点

    HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...

  3. [国嵌攻略][068][tftp网络协议实现]

    IP协议结构 UDP协议结构 TFTP协议结构 TFTP端口 读写请求端口: 69 其他请求端口:1024~65535 主程序 /*********************************** ...

  4. php面试专题---10、网络协议考点

    php面试专题---10.网络协议考点 一.总结 一句话总结: 网络的考点其实就是这些:常见状态码,常见协议,osi七层模型,http和https 1.HTTP/1.1中,状态码200.301.304 ...

  5. linux网络协议

    网络协议 本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 ...

  6. iOS网络协议 HTTP/TCP/IP浅析

    一.TCP/IP协议       话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...

  7. linux 网络协议分析---3

    本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 网络接口层 ...

  8. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  9. HTTP网络协议与手写Web服务容器

    Http协议 1.深入概念 Http:HyperText Transfer Protocol,即是超文本传输协议. 2.浅出概念(使用浏览器访问服务器端网页时需要遵循的一系列规则) Http:将各种不 ...

随机推荐

  1. Nginx - keepliave 相关知识点

    目录 - 1. 前言- 2. keepalive 介绍- 3. Nginx 与 keepalive 的关系    - 3.1 Nginx - keepalive_timeout    - 3.2 Ng ...

  2. Python基础三(选择,循环)

    序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...

  3. 如何从TFS(Visual Studio Team Foundation Server)映射下载本地文件夹

    1.连接tfs项目 首先打开vs2017 ——>工具栏 中的   团队——> 选择团队的管理链接 2.选择管理工作区 显示管理工作区的弹窗,点击 编辑  显示弹窗,选择本地文件夹(即要保存 ...

  4. css边框内凹圆角,解决优惠券的边框问题

    关于css边框内凹圆角,找了好久才找到的 <html <head> <title>无标题页</title> <style> body{ backg ...

  5. OpenCV 颜色空间转换参数CV_BGR2GRAY改变

    OpenCV的颜色空间转换函数:   C++: void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )   参数d ...

  6. CentOS7.5安装MongoDB4.0与CRUD基本操作

    一 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数 ...

  7. 面试题41:和为s的两个数字 || 和为s的连续正数序列

    和为s的两个数字 题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,输出任意一对即可. 有点类似于夹逼的思想 注意两个int相加的和要用lo ...

  8. 【LOJ】#2123. 「HEOI2015」最短不公共子串

    题解 我们对于B串建出后缀自动机和序列自动机 对于问题1,枚举左端点然后跑后缀自动机,直到不能匹配作为这个左端点的答案 对于问题2,枚举左端点然后跑序列自动机,直到不能匹配 对于问题3,设f[i][j ...

  9. Maven 仓库之阿里云镜像配置

    每当项目开发中 update Maven Project 的时候,我们会发现那个进度是非常的慢,这也严重阻碍了平日的开发进度.        然而,殊不知阿里云搭建了一个国内镜像 http://mav ...

  10. XUtils开源框架的使用(HttpUtils支持多线程断点续传)

    XUtils项目下载地址:https://github.com/wyouflf/xUtils XUtils中包含的四大模块: 1.DbUtils模块 2.ViewUtils模块 3.HttpUtils ...