我在新的MacBook Pro(OSX 10.13.6)上欺骗了我的MAC地址,这很麻烦:它根本不会改变-.-“
在以前的MacBook上,我创建并使用了以下脚本:
#! /bin/bash
echo "Old MAC:"
sudo ifconfig en0 ether | grep ether
MAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
sudo ifconfig en0 ether $MAC
echo "New MAC ($MAC):"
sudo ifconfig en0 ether | grep ether
Run Code Online (Sandbox Code Playgroud)
在我的旧MacBook上运行良好,但是将用户迁移到新MacBook后,旧MAC地址和新MAC地址相同。我也尝试了具有相同结果的第三方工具(brew install spoof-mac)。
如果我现在尝试欺骗我的MAC地址,则输出始终是这样的,无论WIFI是否已连接,断开或禁用。
tim@Tim:~$ ./renewMac.sh
Old MAC:
ether 88:e9:fe:83:XX:XX
New MAC (cd:4c:a0:01:9f:e4):
ether 88:e9:fe:83:XX:XX
Run Code Online (Sandbox Code Playgroud)
任何提示配置错误是什么?
我希望能够使用VB.net或C#(使用.NET 3.5 SP1)从第一个活动网络适配器读取mac地址以获取winform应用程序
用于在MySQL数据库中存储MAC地址的最佳字段类型是什么?是否应该使用某个分隔符(冒号或破折号)存储,还是应该在没有分隔符的情况下存储?
请帮我检索通过USB端口连接的Galaxy S3手机的蓝牙MAC地址.我的设备扎根了.
嗨,我正在使用此方法获取mac地址
public string GetMACAddress()
{
System.Management.ManagementClass mc = default(System.Management.ManagementClass);
ManagementObject mo = default(ManagementObject);
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (var mo in moc)
{
if (mo.Item("IPEnabled") == true)
{
return mo.Item("MacAddress").ToString();
}else
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
Compiler Error Message: CS0234: The type or namespace name 'ManagementClass' does not exist in the namespace 'System.Management' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来解决它?
谢谢
我正在使用Api级别为8的Android,我想获得以太网接口的地址(eth0).
在API级别8上,NetworkInterface类没有getHardwareAddress()函数.WifiManager也不起作用,因为它不是无线接口.
提前致谢!
在我的C#应用程序中,我希望通过使用NetworkInterface类来获取我的MAC地址,如下所示:
NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()
{
mac = nic.GetPhysicalAddress()
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码返回的MAC没有':'或任何其他分隔符.
如何以这种格式检索MAC:
88:88:88:88:87:88
仅使用上面的代码?
我正在寻找一种方法来找到Android设备的unique_id.
我将在登录请求有效负载中使用Id,因为我的应用程序是基于许可证的服务应用程序,Id在正常情况下不应更改.
在iOS中,有一些针对iOS的唯一ID解决方案,例如CFUUID或者identifierForVendor,以及Keychain,广告标识符等,可以完成预期的工作.
但在Android中,我所知道的所有选项似乎都有漏洞.
IMEI:
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String m_deviceId = TelephonyMgr.getDeviceId();
Run Code Online (Sandbox Code Playgroud)
缺点
这是依赖SIM卡的
如果没有SIM卡那么我们就注定了
如果有双卡,那么我们就会陷入困境
Android_ID:
String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
Run Code Online (Sandbox Code Playgroud)
缺点
WLAN MAC地址
WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();
Run Code Online (Sandbox Code Playgroud)
缺点
蓝牙地址:
BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();
Run Code Online (Sandbox Code Playgroud)
缺点:
我认为有两种方法可以解决这个问题
我们通过哈希时间戳生成一个随机ID,我用上面提到的唯一ID并存储它,以便下次登录时我们将检查key的存储值是否为null,如果是,那么我们将生成并存储它我们' ll使用密钥的值.
如果有相当于iOS的钥匙串的东西,那么我们对这种方法很好.
找到类似于iOS的advertisingIdentifier的全局标识符,该标识符对于设备中的所有应用程序都是相同的.
任何帮助表示赞赏!
有没有办法使用Swift语言获取IOS设备的真实Wi-Fi MAC地址?代码片非常感谢!谢谢.