网络编程实验指导

网络编程实验指导

ID:46557064

大小:114.50 KB

页数:18页

时间:2019-11-25

网络编程实验指导_第1页
网络编程实验指导_第2页
网络编程实验指导_第3页
网络编程实验指导_第4页
网络编程实验指导_第5页
资源描述:

《网络编程实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《网络编程》实验指导书(适用于计算机科学与技术、网络工程专业、软件工程专业、信息安全专业、智能科学与技术专业)计算机科学与工程学院软件教研室2011-10实验1Winpcap通信设计一、目的与要求1.掌握Winpcap常用API函数的使用。2.学握Winpcap包过滤的建立方法。3.学握Winpcap包过滤条件的建立方法。二、实验环境VC++IDE编程环境,WindowsXP系统三、内容和步骤1.获取网络接口列表通常,一个基于WinPcap的应用程序所要做的第一件事,就是获得适合的网络接口的列表。Libpc

2、ap中的pcap_findalldevs()®数就是实现该功能的。这个函数然回一个pcap_if结构的列表,每个元素都记录了一个接口的信息.其中,name和description以人类nJ以阅读的形式,记录了设备的信息。下而的源代码输出可用的网络接口的列表,并且在没有找到任何借口的情况下输岀错误信息:#include"pcap.h"main(){pcap_if_t*alldevs;pcap_iO*d;inti=0;charerrbuf[PCAP_ERRBUF_SIZEJ;/*取得列表*/if(pcap_fi

3、ndalldevs(&alldevs,errbuf)==-1){fprintf(stderr,nErrorinpcap_findalldevs:%s",errbuf);exit(l);/*输出列表*/for(d=alldevs;d;d=d->next)printf(H%d.%sn,++i,d->name);if(d->description)printf("(%s)'d->description);else/*Y-没有有效的描述*/printf(M(Nodescriptionavailablc)

4、nn);}if(i==0){/*Y-没有有效的接口,可能是因为没有安装WinPcap*/printf(MNointerfacesfound!MakesureWinPcapisinstalled.,r);return;}/*不再需要列表了,释放*/pcap_frccalldcvs(alldcvs);}和其他的libpeap函数一样,pcap_findalldevs(),有一个错误缓冲区(errbuf)参数.这个参数是一个字符串指针,一旦发牛错课,libpeap将会在这里填入错课描述.然后,请注意,pc

5、ap_findalldev系统下的s()函数同时也被UNIX卜的libpeap所支持,但是并不是所有的操作系统都支持“网络接口描述"(description)这一项.所以,如果我们想写一个可以移植的的应用程序,那么我们必须耍为描述为“空"(null)的悄况做好准备:遇到这种情况我们就输出一个“没有有效的描述"的消息.最后我们通过pcap_freealldevs()i^

6、数来释放接口列表.现在让我们编译并运行我们的第一个WinPcap程序.如果你使用UNIX或者Cgywin的话,你只需要以下命令:gcctes

7、taprogtestprog.c・lpcap在Windows环境屮(Y-如果你使用MicrosoftVisualC++),你需要建立一个T•程,按照"UsingWinPcapinyourprograms”一节中说明來做.不过,建议参照Winpcap开发者^(WinPcapdeveloperspack)中的例子,那些例子包括了所以配置完善的工程,以及全部你所需要的库和包含文件.假设现在已经成功编译了程序,运行如下.在WinXP_E作站上,输出结果是:1.{4E273621-5161-46C8-895A-48D

8、0E52A0B83}(RealtekRTL8029(AS)EthernetAdapter)2.{5D24AE04-C486-4A96-83FB-8B5EC6C7F430)(3ComEtherLinkPCI)就如上所示,网络接口的名称(当打开这个接口时,盂要传递这个名称给libpeap库)在windows环境下几乎是没有办法读懂的,所以输出一个描述对于你的用户来说是非常有帮助的.附注:MicrosoftVisualC++工程的设置1.下载并安装WinPcap,推荐的版本是3.()2.从hg://winpcaD

9、.Dolito.i(卜载WinPcapDeveloper'sPack并解压缩3.用MicrosoftVisualC++建立一个空工程(emptyproject)1.复制源代码2.把WinpcapDeveloper'sPack中的Includes目录添加为新的包含文件目录3.添加库wpcap.lib和wsock32.1ib。1.获取设备的高级信息上面介绍了如何获取一个设备的基本信息(比如设备名称和设备描述).实际上

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。