- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WinPcapxuexiWinPcapxuexi
循序渐进学WinPcap去年开始学习winpcap,当时翻译了一点,现在打算把这个工作完成了。我的水平比较差,翻译的很不到位,不过对于初次接触winpcap的人应该还是有点帮助吧。不过不知道我这样来翻译是不是侵犯了人家的版权?如果有这个嫌疑,请大家告诉我,我对这方面的法律不是很了解。建议对这方面有兴趣的人还是去 下载文档和资料看。
下面开始吧:
WinPcap tutorial: a step by step guide to using WinPcap详细说明?这部分展示了怎样使用WinPcap API。这个教程通过一系列的课程,从基本的函数(取得网卡列表,开始抓包,等等)到最高级的应用(处理数据包包发送队列和统计网络流量),一步一步地教会读者如何用WinPcap来编程。?这里提供了几个虽然简单但却完整的程序段作为参考:所有的源代码都有其余部分的链接,只需要点击一下函数和数据结构就可以跳转到相应的文档。?这些例子都是使用c语言写的,所以在读本教程前要了解一些基本的c语言的知识。而且,这是一个关于处理原始网络包的库的教程,所以假定读者具有良好的网络和网络协议方面的知识。
WinPcap tutorial: a step by step guide to using WinPcap(1)获取网络设备列表?基本上所有基于Winpcap的应用程序所做的第一件事情都是获取一个已经绑定的网卡列表。为此,libcap和winpcap都提供了pcap_findalldevs_ex()函数:这个函数返回一个指向pcap_if结构的链表,其中的每一项都包含了一个已经绑定的适配器的全部信息。其中name和description这两项分别包含了相应设备的名称和描述。?下面的代码取得适配器列表并在屏幕上显示出来,如果适配器没有被发现就把显示错误。#i nclude pcap.h
main(){??? pcap_if_t *alldevs;??? pcap_if_t *d;??? int i=0;??? char errbuf[PCAP_ERRBUF_SIZE];??? ??? /* 取得本机的网络设备列表 */??? if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* 这个参数在这里不需要 */, alldevs, errbuf) == -1)??? {??????? fprintf(stderr,Error in pcap_findalldevs_ex: %s\n, errbuf);??????? exit(1);??? }??? ??? /* 显示列表 */??? for(d= alldevs; d != NULL; d= d-next)??? {??????? printf(%d. %s, ++i, d-name);??????? if (d-description)??????????? printf( (%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(alldevs);}关于这段代码的说明。?首先,就象其他的libpcap函数,pcap_findalldevs_ex()有一个errbuf参数。如果发生错误,libcap就把一个错误说明放到这个参数指向的字符串中。?其次,并不是所有的操作系统都支持libpcap提供的网络接口描述,因此如果我们想写一个可移植的程序,我们必须考虑description为null的情况:这个时候我们就输出字符串No description available 。?最后要提醒一下:一旦我们完成了这些动作,就应该释放用pcap_freealldevs()列表。让我们编译并运行这段简单的代码。在unix或者cygwin中编译的话,打入下面的命令:gcc -o testaprog testprog.c -lpcap?在windows中,你需要创建一个project,照着手册中的Using WinPcap in your programs 那一章做就可以了。但是,我们建议你
您可能关注的文档
最近下载
- 高一材料作文题目及范文(20篇).docx VIP
- 5.1质量+1.2测量:物体的质量(教案)沪科版(2024)物理八年级全一册.doc VIP
- 新标准大学英语(第三版)视听说教程4(智慧版)课件B4U6.pptx VIP
- 初中文学文本(小说)阅读理解含答案解析.docx VIP
- 四川盆地页岩气勘探开发现状与实践.pdf VIP
- 4.3 神奇的“眼睛”(教案)沪科版(2024)物理八年级全一册.doc VIP
- 电商商品发布操作指南(包括标题制作、文案设计、详情页制作)(原创整套完整版128页).pptx VIP
- 2025年一级建造师《港口与航道工程》真题卷(附答案).docx VIP
- 2025年高考(北京卷)英语真题及答案.docx VIP
- 4.2 探究:凸透镜成像的规律(教案)沪科版(2024)物理八年级全一册.doc VIP
文档评论(0)