누군가가 내게 어떻게 설명 할 수 있겠는가? pcap 패킷 헤더이 C에서 사용 되는가? 구조 및 사용 방법에 대한 명확한 설명을 찾을 수 없습니다.pcap 패킷 헤더 이해
사실,이 점은 내가는 struct pcap_pkthdr *header
를 사용해야하지만 난 그것을 사용하는 방법을 알아낼 수 없습니다, 우리가 실제로 PCAP 라이브러리 #include <pcap.h>
를 사용하는 방법을 이해하지 못하는 것입니다.
감사합니다.
누군가가 내게 어떻게 설명 할 수 있겠는가? pcap 패킷 헤더이 C에서 사용 되는가? 구조 및 사용 방법에 대한 명확한 설명을 찾을 수 없습니다.pcap 패킷 헤더 이해
사실,이 점은 내가는 struct pcap_pkthdr *header
를 사용해야하지만 난 그것을 사용하는 방법을 알아낼 수 없습니다, 우리가 실제로 PCAP 라이브러리 #include <pcap.h>
를 사용하는 방법을 이해하지 못하는 것입니다.
감사합니다.
Pcap은 각 패킷의 헤더를 정의합니다. 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에서 24 바이트의 pcap 덤프를 읽고이 바이트를 pcap 파일 헤더 구조에 매핑 할 수 있습니다. 이 후에는 모든 다른 패킷을 읽을 수 있습니다. pcap의 버전이 다르다는 것과 내가 여기서 쓴 것은 모든 pcap 덤프에 적용되지 않는다는 것에주의하십시오.