以下定义是在kernel4.14中
1、结构
struct udphdr {
__be16 source;
__be16 dest;
__be16 len;
__sum16 check;
};
2、含义
source:16位源端口;这个字段占据 UDP 报文头的前 16 位,通常包含发送数据报的应用程序所使用的 UDP 端口。接收端的应用程序利用这个字段的值作为发送响应的目的地址。这个字段是可选的,所以发送端的应用程序不一定会把自己的端口号写入该字段中。如果不写入端口号,则把这个字段设置为 0。这样,接收端的应用程序就不能发送响应了。
dest:16位目的端口;
len:16位UDP长度;header+data 总长度 。因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8。
check:16位UDP校验和;伪头部,头部,data 三部分校验和。