With macOS 15, Apple has added the “Private Wi-Fi address” feature that replaces the actual hardware MAC address with a fixed or rotating dynamic MAC address. BigFix appears to gather this information from the network stack, resulting in a response with the dynamic MAC address rather than the actual hardware address. Is there a way to inspect the actual hardware rather than the network stack?
I’m not sure, but iokit registry
might have it. You can use the command line ioreg
, and its man page, to start wrangling its data. There are discussions and examples of it on this forum, and BigFix.me.
You might also try dumping system_profiler SPNetworkDataType
periodically to a file. There are output options for plist and json as well.
Oh, and networksetup
might be useful as well.
So, I appear to have found it with an IORegistryExplorer. Now how to I get it out? Keys and entries and dictionaries, OH MY!
Any idea where the “AirPort_BrcmNIC” info is being stored in the IORegistry? I can get around the rest of it but have no idea where that is coming from…
BOOM!!
Q: ((data of value of it) of ( ((entries of it) whose (key of it is "IOMACAddress")) of dictionaries of nodes of nodes of nodes of ( ((nodes of it) whose (name of it is "RP01")) of ( nodes of ( ((nodes of it) whose (name of it is "PCI0")) of ((nodes of service plane of iokit registry) whose (name of it is "AppleACPIPlatformExpert")) ) ) ) )) as hexadecimal
A: 18810edce3ae
That’s the hardware MAC address.
I hate macOS. I really do.
Now, that works on MY mac. Does it work on others…