- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为一个不是 hton
数据的协议(protocol)编写一个 Wireshark 解析器插件,我需要在不进行任何字节序转换的情况下提取 64 位数据值。
Wireshark 库中是否有不执行 ntoh
的 tvb_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/
我是一名优秀的程序员,十分优秀!