gpt4 book ai didi

转换数据包以获取 IP header

转载 作者:行者123 更新时间:2023-11-30 16:53:58 24 4
gpt4 key购买 nike

我需要迭代 IP header 。

我有以下代码来分解数据包。

#define SIZE_ETHERNET 14;
ethernet = (struct ether_header*) packet;
ip = (struct ip*) (packet + SIZE_ETHERNET);

根据<netinet/ip.h>给出的IP结构,我发现IP头的大小由size_ip = IP_HL(ip)*4给出。

但我不明白为什么我们需要乘以IP_HL(ip) 4 即可获得。

最佳答案

IP 报头的报头长度字段是报头中 DWORDS(32 位)的数量。这里的 size_ip 值是 header 中的字节数(8 位)。因此,要从 header 长度字段获取 size_ip 的值,转换为 *4 以考虑 DWORD 中的字节数。

关于转换数据包以获取 IP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40695610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com