- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程实验指导.doc
《》实验指导书 (适用于计算机科学与技术、网络工程专业) 计算机科学与学院 教研室 20-10 实验1 Winpcap通信设计 一、目的与要求 1. 掌握Winpcap常用API函数的使用。 2. 掌握Winpcap包过滤的建立方法。 3. 掌握Winpcap包过滤条件的建立方法。 二、实验环境 VC++ IDE编程环境,Windows XP系统 三、内容和步骤 1. 获取网络接口列表 通常, 一个基于WinPcap的应用程序所要做的第一件事, 就是获得适合的网络接口的列表Libpcap中的pcap_findalldevs()函数就这个函数然回一个pcap_if结构的列表, 每个元素都记录了一个接口的信息. 其中, name和description以人类可以阅读的形式, 记录了设备的信息 下面的源代码输出可用的网络接口的列表, 并且在没有找到任何借口的情况下输出错误信息: #include pcap.h main() { pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 取得列表 */ 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( (%s)\n, d-description); else /* Y- 没有有效的描述 */ printf( (No description available)\n); } if(i==0) { /* Y- 没有有效的接口, 可能是因为没有安装WinPcap */ printf(\nNo interfaces found! Make sure WinPcap is installed.\n); return; } /* 不再需要列表了, 释放 */ pcap_freealldevs(alldevs); }和其他的libpcap函数一样, pcap_findalldevs(), 有一个错误缓冲区(errbuf)参数. 这个参数是一个字符串指针, 一旦发生错误,libpcap将会在这里填入错误描述. 然后, 请注意, pcap_findalldev系统下的s()函数同时也被UNIX下的libpcap所支持, 但是并不是所有的操作系统都支持“网络接口描述”(description)这一项. 所以, 如果我们想写一个可以移植的的应用程序,那么我们必须要为描述为“空”(null)的情况做好准备:遇到这种情况我们就输出一个“没有有效的描述”的消息. 最后我们通过pcap_freealldevs()函数来释放接口列表. 现在让我们编译并运行我们的第一个WinPcap程序. 如果你使用UNIX或者Cgywin的话, 你只需要以下命令: gcc -o testaprog testprog.c -lpcap 在Windows环境中(Y - 如果你使用Microsoft Visual C++), 你需要建立一个工程, 按照Using WinPcap in your programs 一节中说明来做. 不过, 建议参照Winpcap开发者包(WinPcap developers pack)中的例子, 那些例子包括了所以配置完善的工程, 以及全部你所需要的库和包含文件. 假设现在已经成功编译了程序, 运行. 在WinXP工作站上, 输出结果是: 1. {4E273621-5161-46C8-895A-48D0E52A0B83} (Realtek RTL8029(AS) Ethernet Adapter) 2. {5D24AE04-C486-4A96-83FB-8B5EC6C7F430} (3Com EtherLink PCI) 就如, 网络接口的名称(当打开这个接口时, 需要传递这个名称给libpcap库)在windows环境下几乎是没有办法读懂的, 所以输出一个描述对于你的用户来说是非常有帮助的. 附注: Microsoft Visual C++ 工程的设置 1. 下载并安装 WinPcap, 推荐的版本是3.0 2. 从 http://winpcap.polito.it 下载 WinPcap Developer
有哪些信誉好的足球投注网站
文档评论(0)