libpcap使用入门

    libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。

     这个库的位置在/usr/local/lib下.在 /usr/local/include下是他的头文件pcap.h。要写一个使用libpcap库函数的程序只需要在代码中加上#i nclude <pcap.h>,然后在编译时末尾加上-lpcap选项就可以了.

     Libpcap应用程序从形式上看很简单,下面是一个简单的程序框架:

char * device; /* 用来捕获数据包的网络接口的名称 */
pcap_t * p; /* 捕获数据包句柄,最重要的数据结构 */
struct bpf_program fcode; /* BPF 过滤代码结构 */

/* 第一步:查找可以捕获数据包的设备 */
device = pcap_lookupdev(errbuf);

/* 第二步:创建捕获句柄,准备进行捕获 */
p = pcap_open_live(device, 8000, 1, 500, errbuf);

/* 第三步:如果用户设置了过滤条件,则编译和安装过滤代码 */
pcap_compile(p, &fcode, filter_string, 0, netmask);
pcap_setfilter(p, &fcode);

pcap_loop (p, 7, printer, NULL); /* 这里的p就是我们刚刚生成的描述符;的第二个参数表示抓多少个包,设置为-1表示不定义数量,抓取所有的包;第三个参数是一个回调函数,每当抓到一个数据包之后程序将自动调用这个函数;第四个参数是一个指针,可以为空。 */

/*最后别忘了close*/

 pcap_close (p);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值