应用winpcap捕获数据流

本文介绍如何利用Winpcap库打开网卡并捕获数据流。通过pcap_open_live()函数设置snaplen、promisc和to_ms参数,开启混杂模式,捕获网络上的数据包。然后使用pcap_loop()或pcap_dispatch()进行包捕获,并通过packet_handler回调函数处理每个数据包。示例代码展示了选择网卡、打开网卡和捕获数据包的过程。
摘要由CSDN通过智能技术生成
 
 
 
我们已经知道了如何获得网卡的信息,现在开始真正的工作:打开网卡并捕获数据流。在这
里将写一个打印流经网络的每个数据包信息的程序。
打开网卡的功能是通过 pcap_open_live() 来实现的它有三个参数 snaplen promisc to_ms
snaplen 用于指定所捕获包的特定部分,在一些系统上(象 xBSD and Win32 等)驱动只给出
所捕获数据包的一部分而不是全部,这样就减少了拷贝数据的数量从而提高了包捕获的效
率。
promisc 指明网卡处于混杂模式,在正常情况下网卡只接受发往它的包,而发往其他主机的
数据包则被忽略。相反当网卡处于混杂模式时,它将接收所有的流经它的数据包。这就意味
着在共享介质的情况下可以捕获到发往其它主机的数据包。大部分的包捕获程序都将混杂模
式设为默认,在下面的例子里也将网卡设为混杂模式。
to_ms 参数指定读数据的超时控制,超时以毫秒计算。当在超时时间内网卡上没有数据到来
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值