libpcap中的pcap_handler函数问题

豆哥要做MT 2010-10-23 06:23:27

#include <stdio.h>
#include <pcap.h>
#include <errno.h>

int main()
{
char ebuf[PCAP_ERRBUF_SIZE];


pcap_t *pd=pcap_open_live("eth0",68,0,1000,ebuf);

struct bpf_program fcode;
pcap_compile(pd,&fcode,NULL,1,0);

pcap_setfilter(pd,&fcode);

pcap_handler eth_printer;
pcap_loop(pd,10,eth_printer,NULL);


pcap_close(pd);

return 0;
}

以上是一个简单的抓包程序
其中pcap_loop原型是pcap_loop(pcap_t *p,int cnt,pcap_handler callback,u_char *user)

pcap_loop(pd, 10, eth_printer, NULL);
主循环,开始抓包,共抓10个(由第二个参数指定),抓到包后就进入函数 eth_printer

请问一下这个函数eth_printer即函数pcap_handler,它是干什么用的呢,是不是自己定义的呢?
刚开始接触,请各位多指教一下谢谢…………
...全文
256 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
caochuanlin 2010-10-26
  • 打赏
  • 举报
回复
eth_printer即函数pcap_handler
自定义的回调函数,在此函数中可以对你捕获的网络数据包进行分析处理。
無_1024 2010-10-23
  • 打赏
  • 举报
回复
我最近也在看抓包 但是看不懂 帮顶求解

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧