当前位置: 技术问答>linux和unix
关于libpcap的一段小程序
来源: 互联网 发布时间:2016-12-05
本文导语: #include #include int main (int argc,char* argv[]) { char ebuf[PCAP_ERRBUF_SIZE]; char *dev; pcap_t *descr; void printer() { printf("A packer is captured!n"); return; } dev="wlan0"; printf("DEV: %sn",dev); descr=pcap_open_live (dev,68...
#include
#include
int main (int argc,char* argv[])
{
char ebuf[PCAP_ERRBUF_SIZE];
char *dev;
pcap_t *descr;
void printer()
{
printf("A packer is captured!n");
return;
}
dev="wlan0";
printf("DEV: %sn",dev);
descr=pcap_open_live (dev,68,0,100,ebuf);
pcap_loop(descr,5,printer,NULL);
pcap_close(descr);
return 0;
}
请教一下,上面的一小段程序。我运行后总是出现 Segmentation fault的错误。请问是为什么?
另外为什么dev=pcap_loopupdev(errbuf)这个自动返回的是eth0?
#include
int main (int argc,char* argv[])
{
char ebuf[PCAP_ERRBUF_SIZE];
char *dev;
pcap_t *descr;
void printer()
{
printf("A packer is captured!n");
return;
}
dev="wlan0";
printf("DEV: %sn",dev);
descr=pcap_open_live (dev,68,0,100,ebuf);
pcap_loop(descr,5,printer,NULL);
pcap_close(descr);
return 0;
}
请教一下,上面的一小段程序。我运行后总是出现 Segmentation fault的错误。请问是为什么?
另外为什么dev=pcap_loopupdev(errbuf)这个自动返回的是eth0?
|
typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
const u_char *);
int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
const u_char *);
int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
|
static void printer(u_char *, const struct pcap_pkthdr *,
const u_char *)
{
printf("A packer is captured!n");
return;
}
一楼是说你的回调函数格式不对
const u_char *)
{
printf("A packer is captured!n");
return;
}
一楼是说你的回调函数格式不对