欢迎来到天天文库
浏览记录
ID:40239744
大小:1.17 MB
页数:96页
时间:2019-07-28
《Windows网络编程 罗莉琴 詹祖桥 第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows网络编程实用教程授课教师:职务:第6章探测网络中的在线设备课程描述要对一个网络进行管理,首先应该知道网络中包括哪些设备和这些设备的在线状态。通常应用程序从获取本地网络信息开始,计算本地子网中包含的所有可能的IP地址,然后使用类似ping命令的功能来发现本地网络。本章将介绍获取本地网络信息和探测网络中在线设备的方法。本章知识点获取本地计算机的网络信息扫描子网中的地址6.1获取本地计算机的网络信息6.1.1使用ipconfig命令获取本地网络信息6.1.2获取本地网络信息的开发接口IPHelperAPI6.1.3获取本地网络适配器信息6.1.4
2、获取本地主机名、域名和DNS服务器信息6.1.5获取本地计算机网络接口的基本信息6.1.6获取本地计算机IP地址表6.1.7添加和删除IP地址6.1.1使用ipconfig命令获取本地网络信息在Windows操作系统中,可以使用ipconfig命令获取本地网络信息。在命令窗口中执行ipconfig命令。查看详细网络信息执行下面的命令:ipconfig/all6.1.2获取本地网络信息的开发接口IPHelperAPIIPHelperAPI可以实现的主要功能如下:获取网络配置的信息。管理网络适配器(NetworkAdapter),也就是通常所说的网卡,它位于
3、数据链路层。管理网络接口(Interface)。接口表示节点上对应连接的部分,它位于IP层,因此可以在接口上绑定IP地址。在IPHelperAPI中,网络适配器和接口是一一对应的。管理IP地址。使用ARP协议。获取IP和ICMP协议中的信息。管理路由信息。接收网络事务的通知信息。接收TCP和UDP信息。引用IPHELPAPI.lib在VisualC++项目中,可以使用下面的语句引用IPHELPAPI.lib。#pragmacomment(lib,"IPHLPAPI.lib")也可以在项目属性对话框中选择“配置属性”/“链接器”/“输入”,然后在右侧的“附
4、加依赖项”中输入IPHLPAPI.lib。6.1.3获取本地网络适配器信息在iphlpapi.h中声明了GetAdaptersInfo()函数,调用该函数可以返回本地网络适配器的基本信息,语法如下:DWORDGetAdaptersInfo(PIP_ADAPTER_INFOpAdapterInfo,PULONGpOutBufLen);结构体IP_ADAPTER_INFO在iptypes.h中声明,定义代码如下:typedefstruct_IP_ADAPTER_INFO{struct_IP_ADAPTER_INFO*Next;DWORDComboIndex;
5、charAdapterName[MAX_ADAPTER_NAME_LENGTH+4];charDescription[MAX_ADAPTER_DESCRIPTION_LENGTH+4];UINTAddressLength;BYTEAddress[MAX_ADAPTER_ADDRESS_LENGTH];DWORDIndex;UINTType;UINTDhcpEnabled;PIP_ADDR_STRINGCurrentIpAddress;IP_ADDR_STRINGIpAddressList;IP_ADDR_STRINGGatewayList;IP_ADDR
6、_STRINGDhcpServer;BOOLHaveWins;IP_ADDR_STRINGPrimaryWinsServer;IP_ADDR_STRINGSecondaryWinsServer;time_tLeaseObtained;time_tLeaseExpires;}IP_ADAPTER_INFO,*PIP_ADAPTER_INFO;结构体IP_ADAPTER_INFO中定义的成员变量成员变量说明Next指定网络适配器链表中的下一个网络适配器ComboIndex预留变量AdapterName网络适配器的名称Description网络适配器的描述信息
7、AddressLength网络适配器MAC地址的长度Address网络适配器的MAC地址Index网络适配器索引。当一个网络适配器被禁用然后又重新启用后,该适配器的索引将发生变化。因此该值并不是网络适配器的唯一标识Type网络适配器的类型,包括MIB_IF_TYPE_OTHER、MIB_IF_TYPE_ETHERNET、MIB_IF_TYPE_TOKENRING、MIB_IF_TYPE_FDDI、MIB_IF_TYPE_PPP、MIB_IF_TYPE_LOOPBACK和MIB_IF_TYPE_SLIP等。这些值在IPIfCons.h中定义DhcpEnab
8、led指定该网络适配器上是否启用了DHCP协议CurrentIpAddress预
此文档下载收益归作者所有