【问题标题】:libpcap: printing tcp source and destination portslibpcap:打印 tcp 源和目标端口
【发布时间】:2015-12-23 05:35:54
【问题描述】:

我遇到了一个奇怪的问题

正在检索 tcp 标头并尝试打印源端口和目标端口 代码:

src_p = tcp->th_sport;
dest_p = tcp->th_dport;
output  (in hex):
8e08 and 64a2

wireshark 显示端口是 088e和a264

为什么 libpcap 交换字节? 还是我的代码有问题?

PS:我正在使用this program 中显示的结构。

【问题讨论】:

    标签: c sockets tcp libpcap


    【解决方案1】:

    端口以网络字节顺序(大端)存储在 TCP 标头中(大多数协议使用大端在网络上发送多字节数字,因此得名)。当 Wireshark 将字节转换为人类可读的数字时,它只是将字节转换为 主机字节顺序(大端或小端,取决于您的 PC 的硬件,因此是昵称)。在您的代码中,您可以使用您平台的 ntohs() 函数来做同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 2011-01-05
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      相关资源
      最近更新 更多