gpt4 book ai didi

c++ - Wireshark 插件 : Is There a non-ntoh Version of tvb_get_ntoh64?

转载 作者:行者123 更新时间:2023-11-30 04:38:49 24 4
gpt4 key购买 nike

我正在为一个不是 hton 数据的协议(protocol)编写一个 Wireshark 解析器插件,我需要在不进行任何字节序转换的情况下提取 64 位数据值。

Wireshark 库中是否有不执行 ntohtvb_get_ntoh64 版本?

最佳答案

我找到了我自己问题的答案。 wireshark 文档\wireshark\doc\README.developer 解决了这个问题:

Don't fetch a little-endian value using "tvb_get_ntohs() or "tvb_get_ntohl()" and then using "g_ntohs()", "g_htons()", "g_ntohl()", or "g_htonl()" on the resulting value - the g_ routines in question convert between network byte order (big-endian) and host byte order, not little-endian byte order; not all machines on which Wireshark runs are little-endian, even though PCs are. Fetch those values using "tvb_get_letohs()" and "tvb_get_letohl()".

在查看 tvbuff.h 时,我发现还有其他风格:

extern guint16 tvb_get_letohs(tvbuff_t*, const gint offset);
extern guint32 tvb_get_letoh24(tvbuff_t*, const gint offset);
extern guint32 tvb_get_letohl(tvbuff_t*, const gint offset);
extern guint64 tvb_get_letoh64(tvbuff_t*, const gint offset);

张贴以便将来提出此问题的人能够找到答案。

关于c++ - Wireshark 插件 : Is There a non-ntoh Version of tvb_get_ntoh64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930111/

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