- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习使用Winpcap.doc
WinPcap4.0.2正式版已发布,下载链接和详细资料参见:/lewvan/blog/item/90b100e95081de3cb90e2d41.html
如果尚不了解Winpcap是什么,可以先跳到文末做大致了解。
经过一番折腾,我终于做出了我的第一个Winpcap程序,就是显示本机所有网卡信息的小程序,赶紧把步骤记录下来!能取得这么点小成功,我也是从网上找了很多相关资料来看,甚至都记不清都是从哪里找的了,但还是应该向他们表示感谢!
首先要下载Winpcap,至少要包括两个:Winpcap程序员开发包和Winpcap驱动安装包;或者也可以下载Winpcap程序员开发包和驱动的源程序包,用再把所需要的.dll文件编译出来,现编现用。我把三个包都下载下来了,用的时候是把驱动整个安装上了,我想这比较适合刚刚接触Winpcap的人吧。Winpcap的官方网站是/ ,其服务器在国外。如果你所在的网络不方便连接国外服务器的话,可以从我的博客下载【点击此处下载4.0.1正式版】。下载解压后可以看到三个文件:WinPcap_4_0_1_drivel.exe,WpcapSrc_4_0_1_Source_code.zip和WpdPack_4_0_1_Include_Lib.zip,这里第一个是驱动的安装程序,第二个是驱动的源代码,第三个是使用Winpcap所要用到的所有.h文件和.lib文件。
下载解压后后建议安装驱动(WinPcap_4_0_1_drivel.exe),之后把WpdPack_4_0_1_Include_Lib.zip解压到一个“正式的”位置,因为要用它设置开发环境。对于VC6.0环境,在Tools-options-Directories里面加入解压以后的include文件夹,在Tools-options-Directories的lib里面加入解压以后的lib文件夹。实际开发前还要对工程进行设置:在Project-Settings(Alt+F7),标签栏中选择C/C++标签,在Preprocessor definitions的输入框里添加WPCAP,再选择Link标签,在Object/library modules的输入框里添加wpcap.lib Packet.lib。至于vc7.0的设置和其它设置方法,可以参考:/lis23/article/154.html 。
接下来就是写代码了。用Winpcap写应用程序的第一件事往往就是要获得本地的网卡列表。Winpcap提供了pcap_findalldevs()这个函数来实现此功能,这个API返回一个pcap_if结构的链表,链表的每项内容都含有一块网卡全部信息:尤其是字段名字和含有名字的描述以及有关驱动器的易读信息。程序如下:
#include pcap.hvoid main(){??????? pcap_if_t *alldevs;??????? pcap_if_t *d;??????? int i=0;??????? char errbuf[PCAP_ERRBUF_SIZE];??????? /* 这个API用来获得网卡 的列表 */??????? if (pcap_findalldevs(alldevs, errbuf) == -1)??????? {??????????? fprintf(stderr,Error in pcap_findalldevs: %s\n, errbuf);??????????? exit(1);??????? }???????/* 显示列表的响应字段的内容 */??????? for(d=alldevs;d;d=d-next)??????? {??????????? printf(%d. %s, ++i, d-name);??????????? if (d-description)??????????????? printf(\n\t\tDescription: (%s)\n, d-description);??????????? else??????????????? printf( (No description available)\n);??????? }??????????? if(i==0)??????? {??????????? printf(\nNo interfaces found! Make sure WinPcap is installed.\n);??????????? return;??????? }
????/* We dont need any more the device list. Free it */??????? pcap_freealldevs(all
您可能关注的文档
最近下载
- 直流屏验收标准.docx VIP
- 基于光纤光栅的综采工作面刮板输送机直线度检测与控制方法.pdf
- 4.2 华测CGO2.0软件操作实训教材.pdf VIP
- 小学二年级学习资料 【57】二年级上册语文全册一课一练.pdf VIP
- 世界现代化的历程.pptx VIP
- 华医继续教育常见检验指标的临床诊断价值题库答案.docx VIP
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材).docx
- 2015三峡大学(修改版)水电站课程设计计算书3.pdf VIP
- 水文水资源软件:SWAT二次开发_(17).SWAT二次开发常见问题与解决方案.docx VIP
- 消防空调安装施工方案鲁班奖.doc VIP
文档评论(0)