gpt4 book ai didi

c - libpcap 数据包大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:48 26 4
gpt4 key购买 nike

我在 linux (centos) 上使用 C 中的 libpcap,我正在关注 this guide我想简单地以 ascii 格式打印出整个数据包,并且我设法通过在“my_callback”函数中将其转换为 u_char* 使其工作。但是我不知道如何获取数据的长度。 strstr 没有用。 header 有一个 len 成员,您可以访问该成员以获取大小,但我找不到与传递的 * 数据包类似的任何内容。任何帮助表示赞赏。

最佳答案

在您的回调中,pkthdr 变量的 caplen 成员(请参阅结构 pcap_pkthdr)包含捕获的数据包的大小。

例如,假设捕获了一个数据包。帧的总长度为 1024 字节。然而,捕获驱动程序仅捕获帧的前 128 个字节并将其提供给您的回调。

在这种情况下,您应该期望 pkthdr->caplen 为 128,header->len 为 1024。

关于c - libpcap 数据包大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594554/

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