我在数据包嗅探器中有以下代码:
struct ip_header {
unsigned char ip_ver:4;
...
};
...
printf("Version: %i\n", (int)ip_hdr->ip_ver)
这个输出是“版本:5”。我认为版本只能是4或6,对吗?
答案 0 :(得分:1)
我知道它只是头部长度前4位而版本是第二个4位,所以它应该是
struct ip_header {
unsigned char ip_hl:4;
unsigned char ip_ver:4;
...
};