libpcap的基本使用
1.获取网络接口
1 | char *pcap_lookupdev(char *error_buffer);//获取本地网络接口(返回网络接口的名称) |
2.打开一个网络接口
1 | pcap_t* pcap_open_live(char *device,int snaplen,int packet_count_limit,int timeout_limit,char *error_buffer);//打开一个网卡获得一个抓包句柄 |
3.编译过滤条件
1 | int pcap_compile(pcap_t *handler, struct bpf_program *fp, char *exp, int optimize, bpf_u_int32 netmask); //编一个过滤条件 |
4.设置过滤器
1 | int pcap_setfilter(pcap_t *p, struct bpf_program *fp); //设置过滤器 |
5.获取包信息
1 | u_char *pcap_next(device,&packet); |