libpcap:打印 tcp 源和目标端口
libpcap: printing tcp source and destination ports
我遇到了一个奇怪的问题
正在检索 tcp header 并尝试打印源端口和目标端口
代码:
src_p = tcp->th_sport;
dest_p = tcp->th_dport;
output (in hex):
8e08 and 64a2
wireshark 显示端口是
088e 和 a264
为什么 libpcap 交换字节?
还是我的代码有问题?
PS:我正在使用 this program 中显示的结构。
端口以网络字节顺序(大端)存储在 TCP header(大多数协议使用大端通过网络发送 multi-byte 数字endian,因此得名)。当 Wireshark 将字节转换为 human-readable 数字时,它只是将字节转换为 主机字节顺序 (大端或小端,取决于您的 PC 的硬件,因此是昵称)。在您的代码中,您可以使用平台的 ntohs()
函数来做同样的事情。
我遇到了一个奇怪的问题
正在检索 tcp header 并尝试打印源端口和目标端口 代码:
src_p = tcp->th_sport;
dest_p = tcp->th_dport;
output (in hex):
8e08 and 64a2
wireshark 显示端口是 088e 和 a264
为什么 libpcap 交换字节? 还是我的代码有问题?
PS:我正在使用 this program 中显示的结构。
端口以网络字节顺序(大端)存储在 TCP header(大多数协议使用大端通过网络发送 multi-byte 数字endian,因此得名)。当 Wireshark 将字节转换为 human-readable 数字时,它只是将字节转换为 主机字节顺序 (大端或小端,取决于您的 PC 的硬件,因此是昵称)。在您的代码中,您可以使用平台的 ntohs()
函数来做同样的事情。