粗谈pcap_next_ex()

24 篇文章 0 订阅

 pcap_next_ex(pcap_t* p,struct pcap_pkthdr** pkt_header,const u_char** pkt_data)

功能: 从interface或离线记录文件获取一个报文

参数: p: 已打开的捕捉实例的描述符

         pkt_header: 报文头

         pkt_data: 报文内容

返回值: 1: 成功

             0: 获取报文超时

             -1: 发生错误

             -2: 获取到离线记录文件的最后一个报文

 

   pkt_data则是我们需要的报文内容,通过试验,在调用pcap_next_ex()之后系统会分配一部分内存(大概有500KB左右)供其使用,返回的报文内容则存放在这部分内存中,不过这只是暂存,不可能将大量的数据内容放在这一部分内存中的;通过调试可以看到,pcap_next_ex()将返回的报文内容线型的存储在这一部分内存中,当数据量占满了这部分内存后,会充开始位置覆盖原有数据,所以需要保存报文内容需要写入本地文件或另外开辟内存空间存储!

转载:http://blog.csdn.net/headmaster110/article/details/7601296

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值