`
CrackRen
  • 浏览: 170301 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

获取IOS设备的MAC地址

 
阅读更多
#include <sys/socket.h> // Per msqr
#include <sys/sysctl.h>
#include <net/if.h>
#include <net/if_dl.h>

#pragma mark MAC
// Return the local MAC addy
// Courtesy of FreeBSD hackers email list
// Accidentally munged during previous update. Fixed thanks to mlamb.
CCString *getMacAddress()
{
	int mib[6];
	size_t  len;
	char    *buf;
	unsigned char   *ptr;
	struct if_msghdr    *ifm;
	struct sockaddr_dl  *sdl;
	
	mib[0] = CTL_NET;
	mib[1] = AF_ROUTE;
	mib[2] = 0;
	mib[3] = AF_LINK;
	mib[4] = NET_RT_IFLIST;
    
	if ((mib[5] = if_nametoindex("en0")) == 0) {
		printf("Error: if_nametoindex error/n");
		return NULL;
	}
    
	if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) {
		printf("Error: sysctl, take 1/n");
		return NULL;
	}
    
	buf = (char *)malloc(len);
	if (buf== NULL)
    {
		printf("Could not allocate memory. error!/n");
		return NULL;
	}
    
	
	if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) {
		printf("Error: sysctl, take 2");
		return NULL;
	}
    
	ifm = (struct if_msghdr *)buf;
	sdl = (struct sockaddr_dl *)(ifm + 1);
	ptr = (unsigned char *)LLADDR(sdl);
    
	// NSString *outstring = [NSString stringWithFormat:@"%02x:%02x:%02x:%02x:%02x:%02x", *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];
    CCString *str=CCString::createWithFormat("%02x-%02x-%02x-%02x-%02x-%02x",*ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5));
	//NSString *outstring = [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x", *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];
    
	free(buf);
    
	//return [outstring uppercaseString];
    return str;
}

 

分享到:
评论

相关推荐

    IOS获取设备MAC地址及MD5加密

    在iOS设备上,MAC地址主要用于Wi-Fi和蓝牙通信。然而,由于隐私考虑,自iOS 7以后,Apple不再允许直接获取硬件的MAC地址,而是提供了一个随机生成的“私有MAC地址”或者称为“设备唯一标识符(IDFV)”。 尽管如此...

    ios 获取IP Mac地址

    在iOS开发中,获取设备的IP地址和MAC地址是常见的需求,这主要涉及到网络编程...总的来说,获取iOS设备的IP地址相对简单,但获取MAC地址则受到系统限制。在实际应用中,应遵循Apple的隐私政策,避免不必要的数据收集。

    ios通过BLE读取蓝牙地址

    在iOS系统中,苹果为了用户隐私和安全,对直接获取蓝牙设备MAC地址进行了限制。然而,我们仍然可以通过特定的方式来间接获取到蓝牙设备的标识信息。以下是关于"ios通过BLE读取蓝牙地址"的相关知识点: 1. **Core ...

    ios-GetIphoneMac获取iphone设备mac地址.zip

    原理:我们知道苹果是不允许我们获取其设备硬件的mac地址的,在iOS7以下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。但是发现fing这个软件却可以获取,其下载...

    获取本地ip,mac地址

    在IT行业中,网络通信是不可或缺的一部分,而获取设备的IP和MAC地址是网络通信的基础。本文将详细讲解如何使用C#编程语言来实现获取本地IP和MAC地址的功能。 首先,让我们了解一下IP和MAC地址的基本概念。IP地址...

    获取IOS设备信息

    本篇将详细阐述如何获取iOS设备的各类信息,包括平台型号、CPU型号与频率、核心数、总内存、可用内存、硬盘空间、电池电量、蓝牙支持情况、越狱状态以及MAC地址等关键数据。 首先,我们需要引入Foundation框架,...

    Delphi跨平台(Win,Android,IOS)获取设备唯一标识符

    - `GetiOSDeviceIdentifier`: 用于获取iOS设备的唯一标识,可能包括IDFA、UUID等。 - `GetAndroidDeviceIdentifier`: 用于获取Android设备的唯一标识,可能使用ANDROID_ID或其他方式。 - `...

    获取本地MAC地址小程序

    这个"获取本地MAC地址小程序"是针对Windows操作系统开发的一个实用工具,它能够帮助用户快速获取自己计算机的物理MAC地址,对于网络配置、设备管理以及故障排查等方面具有实际应用价值。 在编程领域,尤其是在本地...

    蓝牙获取mac地址

    本文将深入探讨如何在iOS和Android平台上获取蓝牙设备的MAC地址,并提供相关的开发知识点。 在iOS平台中,苹果提供了Core Bluetooth框架来处理蓝牙低功耗(BLE)设备的交互。获取蓝牙设备的MAC地址通常在扫描到设备...

    ios应用源码之如何获取ios型号,版本,内存,磁盘,mac地址等信息的sample代

    综上所述,通过上述源码,我们可以有效地获取到iOS设备的关键信息,这对于调试、性能监控以及针对不同设备进行适配具有重要意义。实际应用中,开发者可以根据需求整合这些代码片段,以满足项目需求。在开发过程中,...

    IOS应用源码——如何获取iOS型号,版本,内存,磁盘,MAC地址等信息的Sample代码.zip

    获取iOS设备型号通常是为了适配不同设备的屏幕尺寸和性能。在Objective-C或Swift中,可以使用`UIDevice`类的`model`和`localizedModel`属性来获取。例如,iPhone 12的模型名可能显示为"iPhone13,4",而`...

    ios获取设备路由器地址

    这个是最近项目需要用到的获取设备路由器地址,在google里找了一下,发现了这个不错的源码,在我博客里有其具体的调用,可到 http://blog.csdn.net/u010079911 这个查看具体的实现

    Delphi 12 控件之 ios,android,mswindows获取设备唯一标识符和mac地址.rar

    Delphi 12 ios,android,mswindows获取设备唯一标识符和mac地址.rar Delphi 12 fmx 跨平台(Win,Android,IOS)获取设备唯一标识符 在IT行业中,跨平台开发是一项重要的技术,它允许开发者用一套代码库在多个操作系统...

    获取网卡MAC地址 获取网卡MAC地址

    在计算机网络中,MAC(Media Access Control)地址是一种硬件地址,用于唯一...此外,由于MAC地址是物理层面的信息,跨越网络时会被网络层协议(如ARP)处理,所以跨网络获取远程设备的MAC地址通常需要额外的技术手段。

    iOS如何获取手机的Mac地址

    在iOS系统中,获取设备的Mac地址曾经是开发者常用的一种方式来标识设备的独特性。然而,自iOS 7版本开始,苹果对获取Mac地址的API进行了限制,以保护用户隐私,现在通过sysctl或ioctl接口获取的Mac地址会返回一个...

    iOS获取用户设备当前的IP地址

    在iOS开发中,获取用户设备当前的IP地址是一项常见的需求,这可以帮助开发者了解应用的网络环境,例如在实现网络诊断、远程服务连接或者位置定位等功能时。本文将详细讲解如何在iOS应用中获取设备的IP地址。 首先,...

    读取设备信息 ios

    总的来说,获取iOS设备信息时,开发者应遵循Apple的隐私指导原则,避免直接获取敏感数据,如MAC地址,而是利用官方提供的API获取如UUID这样的设备标识。同时,了解和使用其他设备信息可以帮助优化应用的适配性和用户...

    IOS应用源码之如何获取iOS型号,版本,内存,磁盘,MAC地址等信息的Sample代码 .zip

    这份"如何获取iOS型号,版本,内存,磁盘,MAC地址等信息的Sample代码"将提供必要的指导,帮助开发者掌握获取这些关键数据的方法。以下是这些知识点的详细说明: 1. **iOS型号获取**: - iOS设备型号可以通过`[...

    IOS设备投屏MAC.zip

    然后,用户可能需要在Mac上安装并运行开发者提供的应用或工具,该应用会利用USBMuxd协议与iOS设备建立连接,获取设备屏幕的实时流,并在Mac上显示。如果支持多个设备同时投屏,那么这个应用还需要处理多个设备间的...

    iOS7获取UDID、IMEI、SN、ICCID、Mac地址等信息

    在iOS系统中,UDID(Unique Device Identifier)是设备独一无二的标识符,IMEI(International Mobile Equipment Identity)是国际移动设备识别码,SN(Serial Number)是设备序列号,而ICCID(Integrated Circuit ...

Global site tag (gtag.js) - Google Analytics