获取主机网卡信息——实验报告

获取主机网卡信息——实验报告

ID:35236058

大小:76.50 KB

页数:7页

时间:2019-03-22

获取主机网卡信息——实验报告_第1页
获取主机网卡信息——实验报告_第2页
获取主机网卡信息——实验报告_第3页
获取主机网卡信息——实验报告_第4页
获取主机网卡信息——实验报告_第5页
资源描述:

《获取主机网卡信息——实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、姓名学号班级年级指导教师西安财经学院信息学院《网络程序设计》实验报告实验名称获取主机网卡信息和子网掩码实验室实验楼402实验日期一、实验目的了解如何编写程序实现获取本地主机的网卡信息和子网掩码。二、实验要求获得本地计算机的网络信息,从而获得计算机的网卡名、网卡驱动程序、IP地址、子网掩码、物理地址、是否启用了DHCP、是否启用了WINS等网络信息。三、实验内容利用GetAdaptersInfo函数获取计算机的网络信息。四、实验原理在TCP/IP协议中,子网掩码是用来区分网络上的主机是否在同一网络段内的。假如某主机的IP地址为202.119.115.78,它的子网掩码为255.255.

2、255.0,将这两个数据做AND运算,则所得的值中非零的部分即为网络ID。运算步骤如下:  (1)IP地址202.119.115.78的二进制值为11001010.01110111.01110011.01001110。  (2)子网掩码255.255.255.0的二进制值为11111111.11111111.11111111.00000000。(3)将两者做AND计算,其结果为11001010.01110111.01110011.00000000。(4)将结果转换成十进制后为202.119.115.0,其非零部分202.119.115就是网络ID,在IP地址中剩下的为主机ID,本例中

3、为78。这样如果另一台主机的IP地址为202.119.115.83,其子网掩码为255.255.255.0,则其网络ID为202.119.115,主机ID为83。因为这两台主机的网络ID均为202.119.115,因此这两台主机在同一网段内。函数GetAdaptersInfo可以获得本地计算机的网络信息,从而获得该计算机的网卡名、网卡驱动程序、IP地址、子网掩码、物理地址、是否启用了DHCP、是否启用了WINS等网络信息。注意该函数在头文件IpHlpApi.h中声明,库文件为IpHlpApi.lib。函数原型为:  DWORDGetAdaptersInfo(PIP_ADAPTER_I

4、NFOpAdapterInfo,PULONGpOutBufLen);其中:  参数pAdapterInfo指向IP_ADAPTER_INFO结构链表缓冲区的指针;第6页/共7页  参数pOutBufLen指向一个ULONG变量的指针,该ULONG变量表示指向pAdapterInfo结构的大小。  参数中的IP_ADAPTER_INFO结构包含了本地计算机上一个特定网络适配卡的信息,该结构格式如下:typedefstruct_IP_ADAPTER_INFO{struct_IP_ADAPTER_INFO*Next;//指向链表中下一个适配器信息的指针DWORDComboIndex;//预

5、留值charAdapterName[MAX_ADAPTER_NAME_LENGTH+4];//使用ANSI字符串表示的适配器名称charDescription[MAX_ADAPTER_DESCRIPTION_LENGTH+4];//使用ANSI字符串表示的适配器描述UINTAddressLength;//适配器硬件地址以字节计算的长度BYTEAddress[MAX_ADAPTER_ADDRESS_LENGTH];//硬件地址以BYTE数组所表示DWORDIndex;//适配器索引UINTType;//适配器类型UINTDhcpEnabled;//指定这个适配器是否开启DHCPPIP_

6、ADDR_STRINGCurrentIpAddress;//预留值IP_ADDR_STRINGIpAddressList;//该适配器的IPv4地址链表IP_ADDR_STRINGGatewayList;//该适配器的网关IPv4地址链表IP_ADDR_STRINGDhcpServer;//该适配器的DHCP服务器的IPv4地址链表BOOLHaveWins;IP_ADDR_STRINGPrimaryWinsServer;IP_ADDR_STRINGSecondaryWinsServer;time_tLeaseObtained;time_tLeaseExpires;第6页/共7页}IP

7、_ADAPTER_INFO,*PIP_ADAPTER_INFO;其中成员变量的具体含义如下:  Next:链表指针域,通过这个变量来遍历静态链表。  ComboIndex:保留未用。  AdapterName[MAX_ADAPTER_NAME_LENGTH+4]:网卡名。  Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4]:对网卡的描述,实际上是驱动程序的名字。  AddressLength:物理地址的长度,通过该

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

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

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