当前位置: 首页 > 编程笔记 >

C++获取本机MAC,IP,MASK地址的方法

宿建本
2023-03-14
本文向大家介绍C++获取本机MAC,IP,MASK地址的方法,包括了C++获取本机MAC,IP,MASK地址的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C++获取本机MAC,IP,MASK地址的方法,分享给大家供大家参考。具体方法如下:

#include "InitSock.h"  

#include <stdio.h>  

  

#include <iphlpapi.h>  

#pragma comment(lib, "IPHLPAPI.lib")  

  

u_char g_ucLocalMac[6];  

DWORD g_dwGatewayIP;  

DWORD g_dwLocalIP;  

DWORD g_dwMask;  

  

BOOL GetGlobalData()  

{  

    PIP_ADAPTER_INFO pAdapterInfo = NULL;  

    ULONG ulSize = 0;  

    //为结构申请内存  

    ::GetAdaptersInfo(pAdapterInfo, &ulSize);  

    pAdapterInfo = (PIP_ADAPTER_INFO)::GlobalAlloc(GPTR, ulSize);  

    if ( ERROR_SUCCESS  == ::GetAdaptersInfo(pAdapterInfo, &ulSize))  

    {  

        if (pAdapterInfo != NULL)  

        {  

            memcpy(g_ucLocalMac, pAdapterInfo->Address, 6);  

            g_dwGatewayIP = ::inet_addr(pAdapterInfo->GatewayList.IpAddress.String);  

            g_dwLocalIP = ::inet_addr(pAdapterInfo->IpAddressList.IpAddress.String);  

            g_dwMask = ::inet_addr(pAdapterInfo->IpAddressList.IpMask.String);  

        }  

    }  

    //in_addr表示IP的结构  

    in_addr in;  

    in.S_un.S_addr = g_dwLocalIP;  

    printf("  IP Address:%-30s\n", ::inet_ntoa(in));  

  

    in.S_un.S_addr = g_dwGatewayIP;  

    printf("  Gateway Address:%-30s\n", ::inet_ntoa(in));  

  

    in.S_un.S_addr = g_dwMask;  

    printf("  MASK Address:%-30s\n", ::inet_ntoa(in));  

  

    u_char* p = g_ucLocalMac;  

    printf("  MAC:%02X-%02X-%02X-%02X-%02X-%02X\n", p[0], p[1], p[2], p[3], p[4], p[5]);  

    ::GlobalFree(pAdapterInfo);  

    pAdapterInfo = NULL;  

    return TRUE;  

}  

  

void main()  

{  

    CInitSock initSock;  

      

    GetGlobalData();  

  

    printf("*******************************");  

    getchar();  

}

希望本文所述对大家的C++程序设计有所帮助。

 类似资料:
  • 本文向大家介绍android 获取本机的IP地址和mac物理地址的实现方法,包括了android 获取本机的IP地址和mac物理地址的实现方法的使用技巧和注意事项,需要的朋友参考一下 获取本机IP地址 获取本机的物理地址 以上就是Android 获取手机 IP和MAC地址的方法,希望能帮助到读者,谢谢大家对本站的支持!

  • 本文向大家介绍python获取本机所有IP地址的方法,包括了python获取本机所有IP地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python获取本机所有IP地址的具体代码,供大家参考,具体内容如下 运行结果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Android手机获取Mac地址的方法,包括了Android手机获取Mac地址的方法的使用技巧和注意事项,需要的朋友参考一下 最常用的方法,通过WiFiManager获取: 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00” 根据本地IP获取: 这个方法Android 7.0及其以下版本都可以获取到。 根据网络接口获取: 注

  • 本文向大家介绍C#实现获取MAC地址的方法,包括了C#实现获取MAC地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现获取MAC地址的方法,是一个非常常见而且实用的功能,具体方法如下: 主要功能代码如下: 有些项目中出于安全考虑需要获取MAC地址,然后再判断MAC地址是否合法才可以登陆。本文总结的方法希望对大家有所帮助!

  • 本文向大家介绍Shell脚本中获取本机ip地址的3个方法,包括了Shell脚本中获取本机ip地址的3个方法的使用技巧和注意事项,需要的朋友参考一下 方法一: 方法二: 方法三:

  • 本文向大家介绍C++获得本机所有网卡的IP和MAC地址信息的实现方法,包括了C++获得本机所有网卡的IP和MAC地址信息的实现方法的使用技巧和注意事项,需要的朋友参考一下 一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址;如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种;因此,如果要获得本机所有网卡的IP和MAC地址信息,则必须顺序获得