PCAP_DUMP_OPEN(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

hiii bestie πŸ’– welcome to the PCAP_DUMP_OPEN page β€” section 3 of the Library Functions Manual. it's giving β€œopen a file so we can write packets,” and honestly? iconic. πŸŽ€

✨ NAME ✨

pcap_dump_open, pcap_dump_open_append, and pcap_dump_fopen β€” open a file to which to write packets.

🌸 SYNOPSIS 🌸

#include <pcap/pcap.h>

pcap_dumper_t *pcap_dump_open(pcap_t *p, const char *fname);
pcap_dumper_t *pcap_dump_open_append(pcap_t *p, const char *fname);
pcap_dumper_t *pcap_dump_fopen(pcap_t *p, FILE *fp);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so pcap_dump_open() is the one you call to open a savefile for writing. fname specifies the name of the file to open. the file will have the same format as those used by tcpdump(1) and tcpslice(1). if the file does not exist, it will be created; if the file exists, it will be truncated and overwritten. the name "-" is a synonym for stdout. no cap. πŸ’…

pcap_dump_fopen() is called to write data to an existing open stream fp; this stream will be closed by a subsequent call to pcap_dump_close(3). the stream is assumed to be at the beginning of a file that has been newly created or truncated, so that writes will start at the beginning of the file. note that on Windows, that stream should be opened in binary mode. πŸͺŸβš οΈ

p is a capture or savefile handle returned by an earlier call to pcap_create(3) and activated by an earlier call to pcap_activate(3), or returned by an earlier call to pcap_open_offline(3), pcap_open_live(3), or pcap_open_dead(3). the time stamp precision, link-layer type, and snapshot length from p are used as the link-layer type and snapshot length of the output file. iykyk ✨

pcap_dump_open_append() is like pcap_dump_open() but, if the file already exists, and is a pcap file with the same byte order as the host opening the file, and has the same time stamp precision, link-layer header type, and snapshot length as p, it will write new packets at the end of the file. periodt. πŸ”₯

πŸ’– RETURN VALUE πŸ’–

on success, you get a pointer to a pcap_dumper_t structure to use in subsequent pcap_dump(3) and pcap_dump_close(3) calls. on failure, NULL is returned. if NULL is returned, pcap_geterr(3) can be used to get the error text. slay when it works, check pcap_geterr(3) when it doesn't 😭

πŸŽ€ BACKWARD COMPATIBILITY πŸŽ€

pcap_dump_open_append() became available in libpcap release 1.7.2. in previous releases, there is no support for appending packets to an existing savefile. so don't go looking for it in older libpcap, bestie πŸ’€

🌈 SEE ALSO 🌈


okay that's the whole page, bestie β€” this one is from the Library Functions Manual, dated 3 July 2020, and its footer manual-name vibe is PCAP_DUMP_OPEN, section 3. mwah πŸ«ΆπŸ’‹

πŸ“¦ where this page comes from