探测网络中的在线设备

《探测网络中的在线设备》由会员分享,可在线阅读,更多相关《探测网络中的在线设备(91页珍藏版)》请在文档大全上搜索。
1、探测网络中的在线设备探测网络中的在线设备主要知识点主要知识点p获取本地计算机的网络信息获取本地计算机的网络信息p扫描子网中的地址扫描子网中的地址1 获取本地计算机的网络信息获取本地计算机的网络信息6.1.1 6.1.1 使用使用ipconfigipconfig命令获取本地网络信息命令获取本地网络信息6.1.2 6.1.2 获取本地网络信息的开发接口获取本地网络信息的开发接口IP Helper IP Helper APIAPI6.1.3 6.1.3 获取本地网络适配器信息获取本地网络适配器信息6.1.4 6.1.4 获取本地主机名、域名和获取本地主机名、域名和DNSDNS服务器信息服务器信息6.
2、1.5 6.1.5 获取本地计算机网络接口的基本信息获取本地计算机网络接口的基本信息6.1.6 6.1.6 获取本地计算机获取本地计算机IPIP地址表地址表6.1.7 6.1.7 添加和删除添加和删除IPIP地址地址1.1 使用使用ipconfig命令获取本地网络信命令获取本地网络信息息p在在Windows操作系统中,可以使用操作系统中,可以使用ipconfig命令获命令获取本地网络信息。在命令窗口中执行取本地网络信息。在命令窗口中执行ipconfig命令。命令。1 获取本地计算机的网络信息获取本地计算机的网络信息1.2 获取本地网络信息的开发接口获取本地网络信息的开发接口IP Helper
3、APIIP Helper APIIP Helper API可以实现的主要功能如下:可以实现的主要功能如下:p 获取网络配置的信息。获取网络配置的信息。p 管理网络适配器(管理网络适配器(Network AdapterNetwork Adapter),也就是通常所说的网卡,),也就是通常所说的网卡,它位于数据链路层。它位于数据链路层。p 管理网络接口(管理网络接口(InterfaceInterface)。接口表示节点上对应连接的部分,)。接口表示节点上对应连接的部分,它位于它位于IPIP层,因此可以在接口上绑定层,因此可以在接口上绑定IPIP地址。在地址。在IP Helper APIIP Hel
4、per API中中,网络适配器和接口是一一对应的。,网络适配器和接口是一一对应的。p 管理管理IPIP地址。地址。p 使用使用ARPARP协议。协议。p 获取获取IPIP和和ICMPICMP协议中的信息。协议中的信息。p 管理路由信息。管理路由信息。p 接收网络事务的通知信息。接收网络事务的通知信息。p 接收接收TCPTCP和和UDPUDP信息。信息。引用引用IPHELPAPI.libp 在在Visual C+Visual C+项目中,可以使用下面的语句引用项目中,可以使用下面的语句引用IPHELPAPI.libIPHELPAPI.lib。# #pragma comment(lib, IPHL
5、PAPI.libpragma comment(lib, IPHLPAPI.lib)p 也可以在项目属性对话框中选择也可以在项目属性对话框中选择“配置属性配置属性”/ /“链接器链接器”/ /“输入输入”,然后在右侧的,然后在右侧的“附加依赖项附加依赖项”中输入中输入IPHLPAPI.libIPHLPAPI.lib。1.3 获取本地网络适配器信息获取本地网络适配器信息p在在iphlpapi.hiphlpapi.h中声明了中声明了GetAdaptersInfoGetAdaptersInfo()()函数,调用该函数可以返回本地网络适配函数,调用该函数可以返回本地网络适配器的基本信息,语法如下器的基本
6、信息,语法如下:DWORD DWORD GetAdaptersInfoGetAdaptersInfo( ( PIP_ADAPTER_INFO PIP_ADAPTER_INFO pAdapterInfopAdapterInfo, , PULONG PULONG pOutBufLenpOutBufLen ););结构体结构体IP_ADAPTER_INFOp在在iptypes.hiptypes.h中声明,定义代码如下中声明,定义代码如下:typedeftypedef structstruct _IP_ADAPTER_INFO _IP_ADAPTER_INFO structstruct _IP_ADA
7、PTER_INFO _IP_ADAPTER_INFO* * Next; Next; DWORD DWORD ComboIndexComboIndex; ; char char AdapterNameAdapterNameMAX_ADAPTER_NAME_LENGTH + 4;MAX_ADAPTER_NAME_LENGTH + 4; char DescriptionMAX_ADAPTER_DESCRIPTION_LENGTH + 4; char DescriptionMAX_ADAPTER_DESCRIPTION_LENGTH + 4; UINT UINT AddressLengthAddres
8、sLength; ; BYTE AddressMAX_ADAPTER_ADDRESS_LENGTH; BYTE AddressMAX_ADAPTER_ADDRESS_LENGTH; DWORD Index; DWORD Index; UINT Type; UINT Type; UINT UINT DhcpEnabledDhcpEnabled; ; PIP_ADDR_STRING PIP_ADDR_STRING CurrentIpAddressCurrentIpAddress; ; IP_ADDR_STRING IP_ADDR_STRING IpAddressListIpAddressList;
9、 ; IP_ADDR_STRING IP_ADDR_STRING GatewayListGatewayList; ; IP_ADDR_STRING IP_ADDR_STRING DhcpServerDhcpServer; ; BOOL BOOL HaveWinsHaveWins; ; IP_ADDR_STRING IP_ADDR_STRING PrimaryWinsServerPrimaryWinsServer; ; IP_ADDR_STRING IP_ADDR_STRING SecondaryWinsServerSecondaryWinsServer; ; time_ttime_t Leas
10、eObtainedLeaseObtained; ; time_ttime_t LeaseExpiresLeaseExpires; ; IP_ADAPTER_INFO, IP_ADAPTER_INFO, * *PIP_ADAPTER_INFO;PIP_ADAPTER_INFO;结构体结构体IP_ADAPTER_INFO中定义的成员变中定义的成员变量量成员变量成员变量说明说明Next指定网络适配器链表中的下一个网络适配器ComboIndex预留变量AdapterName网络适配器的名称Description网络适配器的描述信息AddressLength网络适配器MAC地址的长度Address网络适
11、配器的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中定义DhcpEnabled指定该网络适配器上是否启用了DHCP协议CurrentIpAddress预留变量IpAddressList