gpt4 book ai didi

c - 了解 pcap 包头

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:52 25 4
gpt4 key购买 nike

谁能解释一下 pcap 数据包头 在 C 中是如何使用的?我找不到关于它的结构和使用方式的任何明确解释。

事实上,问题是我不明白我们如何使用 pcap 库 #include <pcap.h>

确实,我需要使用一个 struct pcap_pkthdr *header但我不知道如何使用它。

谢谢

最佳答案

Pcap 为每个数据包定义一个 header 。与 pcap 文件头一起,数据包头将使您能够理解 pcap 转储中的数据。

struct pcap_file_header {
bpf_u_int32 magic;
u_short version_major;
u_short version_minor;
bpf_int32 thiszone; /* gmt to local correction */
bpf_u_int32 sigfigs; /* accuracy of timestamps */
bpf_u_int32 snaplen; /* max length saved portion of each pkt */
bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
};

struct pcap_pkthdr {
struct timeval ts; /* time stamp */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};

所以首先你会有文件头,然后是所有捕获的数据包。在 C 中,您可以读取 pcap 转储的 24 个字节,然后将这些字节映射到 pcap 文件头结构。在此之后,您可以开始阅读所有不同的数据包。请注意,有不同版本的 pcap,我在这里写的内容并不适用于每个 pcap 转储。

关于c - 了解 pcap 包头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609385/

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