0
我有以下代碼:C編程:IP報頭ID爲負
struct ip_header {
unsigned char ip_hl:4;
unsigned char ip_ver:4;
unsigned char ip_dscp:6;
unsigned char ip_ecn:2;
short ip_len;
short ip_id;
...
};
...
const struct ip_header * ip_hdr = (const struct ip_header *)(buffer + ETHERNET_HEADER_SIZE);
...
printf("IP ID: %d", ip_hdr->ip_id);
IP ID我得到的是否定了大部分的數據包。你們可以看到一個錯誤嗎?
由於ip_id很短,我相信%hu是一個更好的選擇。 – Cahu
感謝提示,我不應該在第一個地方使用短IP ID。現在,當我使用%u時,所有數據包的ID均爲1600。你認爲這是正常的嗎?每個數據包不應該不同嗎? – maximilliano