获取网卡信息和子网掩码附源程序.docx_第1页
获取网卡信息和子网掩码附源程序.docx_第2页
获取网卡信息和子网掩码附源程序.docx_第3页
获取网卡信息和子网掩码附源程序.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

获取网卡信息和子网掩码实验学时:2实验类型:设计实验要求:必修一、实验目的: 1、掌握控制台程序设计的基本方法; 2、了解在该网络环境下如何利用Winsock获取网卡信息及其实现原理; 3、了解在该网络环境下如何利用Winsock获取子网掩码及其实现原理。二、实验内容:利用winsock提供的相关函数进行控制台程序的编制,要求获取计算机网卡信息和子网掩码,并显示在DOS窗口上。 三、实验原理、方法和手段 使用Winsock进行网络通信程序的设计,要通过本次试验初步了解如何利用Winsock进行控制台程序的编制,为以后自己编制类似的程序打下良好的基础。四、实验组织运行要求注意观察结果,记录并分析编译系统的出错信息提示。五、实验条件Pc机VC+ 6.0环境六、实验步骤1. 启动Visual C+6.0开发环境从“开始”菜单中选择“程序| Microsoft Visual Studio 6.0 | Microsoft Visual C+ 6.0”,显示Visual C+6.0开发环境窗口。2. 创建一个项目(1)单击File菜单中的New选项,显示New(新建)对话框。(2)单击Project(项目)标签,在Project选项卡中,选择Win32 Console Application(Win32控制台应用程序向导)。在Location(位置)文本框中指定一个路径,在Project Name(项目名称)文本框中为项目输入一个名字(例如:lab2),单击OK按钮。(3)依据提示单击下一步按钮,直到最后一步点击完成按钮,完成项目的建立。(4)项目建立好后,点击工程菜单,选择设置,在弹出的新窗口中单击连接(Link)选项卡,在对象/库模块文本框中填入IpHlpAPI.LIB库,点击确定按钮,完成库的添加。3.编写源程序文件参考程序见书p.89 (注意理解实现原理) 4.建立并运行可执行程序(1)选择菜单命令Build | Build lab2.exe,建立可执行程序。如果你正确输入了源程序,此时便成功地生成了可执行程序(例如:lab2.exe)。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build | Build lab2.exe,建立可执行程序。(2)选择菜单命令Build | Execute lab2.exe运行程序,观察屏幕的显示内容。5.观察程序运行结果。七、思考题程序运行通过后请回答以下问题:1、 pAdapter指针变量初值设为空有何作用。2、 GetAdaptersInfo函数有哪些返回值,分别代表什么含义。3、 请解释Adapter Addr地址的打印格式控制信息。4、 DhcpEnabled成员可以存放什么类型的值,可能的取值有哪些,分别代表什么含义。5、 While循环末尾的语句pAdapter=pAdapter-Next;有什么作用,while循环什么情况下 会结束。八、实验报告分别记录下以上每个实验内容的结果,并分析结果。 在每次实验后,应整理出实验报告,实验报告应包括以下内容: 题目; 程序清单:每个上机程序的完整源程序代码; 运行结果:每个上机程序运行后打印输出的结果; 对运行情况所作的分析,以及本次调试程序所取得的经验。如果程序未能通过,则分析其原因。 每次的实验报告在下次上机的时候交。九、其它说明(无)源程序:#include /在相应的LIB文件里加入库文件#include /在相应的INCLUDE文件中加入头文件 /在工程连接里,在对象/库模块文本框中填入IpHlpAPI.LIB库#include /#pragma comment (lib,C:Program FilesMicrosoft Platform SDKLibiphlpapi.lib) int main(void) PIP_ADAPTER_INFO pAdapterInfo ; PIP_ADAPTER_INFO pAdapter = NULL ; DWORD dwRetVal = 0 ; pAdapterInfo = (IP_ADAPTER_INFO *) malloc( sizeof(IP_ADAPTER_INFO) ) ; ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO); if (GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) = ERROR_BUFFER_OVERFLOW) free(pAdapterInfo); pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen); if (dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) = NO_ERROR) pAdapter = pAdapterInfo; while (pAdapter) printf(t网卡名: t%sn, pAdapter-AdapterName); printf(t对网卡的描述: t%sn, pAdapter-Description) ; printf(t物理地址: t%ldn, pAdapter-Address) ; printf(tIP地址: t%sn, pAdapter-IpAddressList.IpAddress.String) ; printf(tIP掩码: t%sn, pAdapter-IpAddressList.IpMask.String) ; printf(t 网关地址链表: t%sn, pAdapter-GatewayList.IpAddress.String) ; printf(t*n) ; if (pAdapter-DhcpEnabled) printf(tDHCP服务开启: Yesn); printf(ttDHCP服务: t%sn, pAdapter-DhcpServer.IpAddress.String); printf(t租赁信息: %ldn, pAdapter-LeaseObtained); else printf(tDHCP服务开启: Non); if (pAdapter-HaveWins) printf(t启用Wins: Yesn) ; printf(tt主WINS地址: t%sn, pAdapter-PrimaryWinsServer.IpAddress.String) ; printf(tt辅WINS地址: t%sn, pAdapt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论