【发布时间】:2013-12-08 02:01:26
【问题描述】:
我在数据包嗅探器中有以下代码:
struct ip_header {
unsigned char ip_ver:4;
...
};
...
printf("Version: %i\n", (int)ip_hdr->ip_ver)
ths 的输出是“版本:5”。我认为版本只能是 4 或 6,对吧?
【问题讨论】:
标签: c network-programming ip
我在数据包嗅探器中有以下代码:
struct ip_header {
unsigned char ip_ver:4;
...
};
...
printf("Version: %i\n", (int)ip_hdr->ip_ver)
ths 的输出是“版本:5”。我认为版本只能是 4 或 6,对吧?
【问题讨论】:
标签: c network-programming ip
我知道了,它只是标题长度的前 4 位,版本是第二个 4 位,所以应该是
struct ip_header {
unsigned char ip_hl:4;
unsigned char ip_ver:4;
...
};
【讨论】: