以下只是一部分,更多见于winpcap手册
1.typedef void(*) pcap_handler (u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)
接受数据包的回调函数的原型
2.pcap_t * pcap_open_live (const char *device, int snaplen, int promisc, int to_ms, char *ebuf)
在网络中打开一个活动的捕获
3.pcap_t * pcap_open_dead (int linktype, int snaplen)
在还没开始捕获时,创建一个 pcap_t 的结构体
4.pcap_t * pcap_open_offline (const char *fname, char *errbuf)
打开一个 tcpdump/libpcap 格式的存储文件,来读取数据包
5.pcap_dumper_t * pcap_dump_open (pcap_t *p, const char *fname)
打开一个文件来写入数据包
6.int pcap_findalldevs (pcap_if_t **alldevsp, char *errbuf)
构造一个可打开的网络设备的列表 pcap_open_live()
7.void pcap_freealldevs (pcap_if_t *alldevsp)
释放一个接口列表,这个列表将被 pcap_findalldevs()返回
8.nt pcap_lookupnet (const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf)
返回接口的子网和掩码
9.int pcap_dispatch (pcap_t *p, int cnt, pcap_handler callback, u_char *user)
收集一组数据包
10.int pcap_loop (pcap_t *p, int cnt, pcap_handler callback, u_char *user)
收集一组数据包
11.u_char * pcap_next (pcap_t *p, struct pcap_pkthdr *h)
返回下一个可用的数据包
12.int pcap_next_ex (pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data)
从一个设备接口,或从一个脱机文件中,读取一个数据包
13.void pcap_breakloop (pcap_t *)
设置一个标志位,这个标志位会强制 pcap_dispatch() 或 pcap_loop() 返回,而不是继续循环。
14.int pcap_sendpacket (pcap_t *p, u_char *buf, int size)
发送一个原始数据包
15.void pcap_dump (u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
将数据包保存到磁盘
16.long pcap_dump_ftell (pcap_dumper_t *)
返回存储文件的文件位置
17.int pcap_compile (pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)
编译数据包过滤器,将程序中高级的过滤表达式,转换成能被内核级的过滤引擎所处理的东西。 (参见 过滤表达式语法)
18.int pcap_setfilter (pcap_t *p, struct bpf_program *fp)
在捕获过程中绑定一个过滤器
19.void pcap_freecode (struct bpf_program *fp)
释放一个过滤器
20.int pcap_datalink (pcap_t *p)
返回适配器的链路层
21.int pcap_list_datalinks (pcap_t *p, int **dlt_buf)
列出数据链
22.int pcap_set_datalink (pcap_t *p, int dlt)
将当前 pcap 描述符的数据链的类型,设置成 dlt 给出的类型。返回-1 表示设置失败。
23.int pcap_snapshot (pcap_t *p)
返回发送给应用程序的数据包部分的大小(字节)
24.int pcap_is_swapped (pcap_t *p)
当前存储文件使用与当前系统不同的字节序列时,返回 true
25.FILE * pcap_file (pcap_t *p)
返回一个脱机捕获文件的标准流
26.int pcap_stats (pcap_t *p, struct pcap_stat *ps)
返回当前捕获的统计信息
27.void pcap_close (pcap_t *p)
关闭一个和 p 关联的文件,并释放资源
28.FILE * pcap_dump_file (pcap_dumper_t *p)
返回一个由 pcap_dump_open()打开的存储文件的标准输入输出流
29.int pcap_dump_flush (pcap_dumper_t *p)
将输出缓冲写入存储文件,这样,任何使用 pcap_dump() 存储,但还没有写入文件的数据包,会被立刻写入文件。 返回-1 表示出错,返回 0 表示成功。
30.void pcap_dump_close (pcap_dumper_t *p)
关闭一个存储文件