libpcap
1.10.1
About: libpcap is a packet filter library used by tools like tcpdump.
![]() ![]() |
#include <pcap-types.h>
#include <errno.h>
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include "pcap-int.h"
#include "pcap-common.h"
#include "sf-pcap.h"
Go to the source code of this file.
Data Structures | |
struct | pcap_sf |
Macros | |
#define | TCPDUMP_MAGIC 0xa1b2c3d4 |
#define | KUZNETZOV_TCPDUMP_MAGIC 0xa1b2cd34 |
#define | FMESQUITA_TCPDUMP_MAGIC 0xa1b234cd |
#define | NAVTEL_TCPDUMP_MAGIC 0xa12b3c4d |
#define | NSEC_TCPDUMP_MAGIC 0xa1b23c4d |
#define | LT_LINKTYPE(x) ((x) & 0x03FFFFFF) |
#define | LT_LINKTYPE_EXT(x) ((x) & 0xFC000000) |
Enumerations | |
enum | swapped_type_t { NOT_SWAPPED , SWAPPED , MAYBE_SWAPPED } |
enum | tstamp_scale_type_t { PASS_THROUGH , SCALE_UP , SCALE_DOWN , PASS_THROUGH , SCALE_UP_DEC , SCALE_DOWN_DEC , SCALE_UP_BIN , SCALE_DOWN_BIN } |
Functions | |
static int | pcap_next_packet (pcap_t *p, struct pcap_pkthdr *hdr, u_char **datap) |
pcap_t * | pcap_check_header (const uint8_t *magic, FILE *fp, u_int precision, char *errbuf, int *err) |
static int | grow_buffer (pcap_t *p, u_int bufsize) |
static int | sf_write_header (pcap_t *p, FILE *fp, int linktype, int snaplen) |
void | pcap_dump (u_char *user, const struct pcap_pkthdr *h, const u_char *sp) |
static pcap_dumper_t * | pcap_setup_dump (pcap_t *p, int linktype, FILE *f, const char *fname) |
pcap_dumper_t * | pcap_dump_open (pcap_t *p, const char *fname) |
pcap_dumper_t * | pcap_dump_fopen (pcap_t *p, FILE *f) |
pcap_dumper_t * | pcap_dump_open_append (pcap_t *p, const char *fname) |
FILE * | pcap_dump_file (pcap_dumper_t *p) |
long | pcap_dump_ftell (pcap_dumper_t *p) |
int64_t | pcap_dump_ftell64 (pcap_dumper_t *p) |
int | pcap_dump_flush (pcap_dumper_t *p) |
void | pcap_dump_close (pcap_dumper_t *p) |
enum swapped_type_t |
enum tstamp_scale_type_t |
|
static |
Definition at line 421 of file sf-pcap.c.
References pcap::buffer, pcap::bufsize, pcap::errbuf, PCAP_ERRBUF_SIZE, and snprintf().
Referenced by pcap_next_packet().
pcap_t* pcap_check_header | ( | const uint8_t * | magic, |
FILE * | fp, | ||
u_int | precision, | ||
char * | errbuf, | ||
int * | err | ||
) |
Definition at line 153 of file sf-pcap.c.
References pcap::buffer, pcap::bufsize, pcap::cleanup_op, DLT_EN10MB, errno, pcap_sf::hdrsize, KUZNETZOV_TCPDUMP_MAGIC, pcap_sf::lengths_swapped, pcap::linktype, pcap_file_header::linktype, pcap::linktype_ext, linktype_to_dlt(), LT_LINKTYPE, LT_LINKTYPE_EXT, pcap_file_header::magic, MAYBE_SWAPPED, pcap::next_packet_op, NOT_SWAPPED, NSEC_TCPDUMP_MAGIC, pcap::opt, PASS_THROUGH, pcap_adjust_snapshot(), PCAP_ERRBUF_SIZE, pcap_fmt_errmsg_for_errno(), pcap_next_packet(), PCAP_OPEN_OFFLINE_COMMON, PCAP_TSTAMP_PRECISION_MICRO, PCAP_TSTAMP_PRECISION_NANO, PCAP_VERSION_MAJOR, PCAP_VERSION_MINOR, pcap::priv, SCALE_DOWN, pcap_sf::scale_type, SCALE_UP, sf_cleanup(), pcap_file_header::sigfigs, pcap_file_header::snaplen, pcap::snapshot, snprintf(), SWAPLONG, pcap::swapped, SWAPPED, SWAPSHORT, TCPDUMP_MAGIC, pcap_file_header::thiszone, pcap_opt::tstamp_precision, pcap::version_major, pcap_file_header::version_major, pcap::version_minor, and pcap_file_header::version_minor.
void pcap_dump | ( | u_char * | user, |
const struct pcap_pkthdr * | h, | ||
const u_char * | sp | ||
) |
Definition at line 745 of file sf-pcap.c.
References pcap_sf_pkthdr::caplen, pcap_pkthdr::caplen, pcap_sf_pkthdr::len, pcap_pkthdr::len, pcap_sf_pkthdr::ts, pcap_pkthdr::ts, pcap_timeval::tv_sec, and pcap_timeval::tv_usec.
Referenced by main().
void pcap_dump_close | ( | pcap_dumper_t * | p | ) |
FILE* pcap_dump_file | ( | pcap_dumper_t * | p | ) |
int pcap_dump_flush | ( | pcap_dumper_t * | p | ) |
pcap_dumper_t* pcap_dump_fopen | ( | pcap_t * | p, |
FILE * | f | ||
) |
Definition at line 881 of file sf-pcap.c.
References dlt_to_linktype(), pcap::errbuf, pcap::linktype, pcap::linktype_ext, PCAP_ERRBUF_SIZE, pcap_setup_dump(), and snprintf().
long pcap_dump_ftell | ( | pcap_dumper_t * | p | ) |
int64_t pcap_dump_ftell64 | ( | pcap_dumper_t * | p | ) |
pcap_dumper_t* pcap_dump_open | ( | pcap_t * | p, |
const char * | fname | ||
) |
Definition at line 795 of file sf-pcap.c.
References pcap::activated, charset_fopen, dlt_to_linktype(), pcap::errbuf, errno, pcap::linktype, pcap::linktype_ext, PCAP_ERRBUF_SIZE, pcap_fmt_errmsg_for_errno(), pcap_setup_dump(), and snprintf().
Referenced by main().
pcap_dumper_t* pcap_dump_open_append | ( | pcap_t * | p, |
const char * | fname | ||
) |
Definition at line 898 of file sf-pcap.c.
References charset_fopen, dlt_to_linktype(), pcap::errbuf, errno, KUZNETZOV_TCPDUMP_MAGIC, pcap::linktype, pcap_file_header::linktype, pcap_file_header::magic, NAVTEL_TCPDUMP_MAGIC, NSEC_TCPDUMP_MAGIC, pcap::opt, PCAP_ERRBUF_SIZE, pcap_fmt_errmsg_for_errno(), pcap_setup_dump(), PCAP_TSTAMP_PRECISION_MICRO, PCAP_TSTAMP_PRECISION_NANO, PCAP_VERSION_MAJOR, PCAP_VERSION_MINOR, sf_write_header(), pcap_file_header::snaplen, pcap::snapshot, snprintf(), SWAPLONG, TCPDUMP_MAGIC, pcap_opt::tstamp_precision, pcap_file_header::version_major, and pcap_file_header::version_minor.
|
static |
Definition at line 441 of file sf-pcap.c.
References pcap::buffer, pcap::bufsize, pcap_sf_patched_pkthdr::caplen, pcap_pkthdr::caplen, pcap::errbuf, errno, grow_buffer(), pcap_sf::hdrsize, pcap_sf_patched_pkthdr::len, pcap_pkthdr::len, pcap_sf::lengths_swapped, pcap::linktype, max_snaplen_for_dlt(), MAYBE_SWAPPED, NOT_SWAPPED, PASS_THROUGH, PCAP_ERRBUF_SIZE, pcap_fmt_errmsg_for_errno(), pcap::priv, pcap::rfile, SCALE_DOWN, pcap_sf::scale_type, SCALE_UP, pcap::snapshot, snprintf(), swap_pseudo_headers(), SWAPLONG, pcap::swapped, SWAPPED, pcap_sf_patched_pkthdr::ts, pcap_pkthdr::ts, pcap_timeval::tv_sec, and pcap_timeval::tv_usec.
Referenced by pcap_check_header().
|
static |
Definition at line 765 of file sf-pcap.c.
References pcap::errbuf, errno, PCAP_ERRBUF_SIZE, pcap_fmt_errmsg_for_errno(), sf_write_header(), and pcap::snapshot.
Referenced by pcap_dump_fopen(), pcap_dump_open(), and pcap_dump_open_append().
|
static |
Definition at line 716 of file sf-pcap.c.
References pcap_file_header::linktype, pcap_file_header::magic, NSEC_TCPDUMP_MAGIC, pcap::opt, PCAP_TSTAMP_PRECISION_NANO, PCAP_VERSION_MAJOR, PCAP_VERSION_MINOR, pcap_file_header::sigfigs, pcap_file_header::snaplen, TCPDUMP_MAGIC, pcap_file_header::thiszone, pcap_opt::tstamp_precision, pcap_file_header::version_major, and pcap_file_header::version_minor.
Referenced by pcap_dump_open_append(), and pcap_setup_dump().