On stock (Pixel) Android, if you enable Developer Options, there is a setting under Networking called “Wi-Fi non-persistent MAC randomization” that randomizes the MAC per connection for networks that have randomization enabled.
I have a Samsung and it’s per network, even if you forget and rejoin it keeps the same random Mac address. You need to enable a developer setting to have it randomize when you join.
Let’s say you want to set a static DHCP ip from your router. The only way to do so (from the router, I’m not talking from the phone), is by assigning an IP to a MAC address.
If the address is randomised per connection, affecting a static DHCP ip would be impossible.
Another thing a router often has is some sort of dhcp memory. It remembers the ip it gave to a certain MAC address for some time, then when the device connects back, it assigns the same IP it had before.
So if the ip changes each time either the MAC address changes each time (not sure it’s default), or the router has no memory.
That’s the point though. The address is randomized per connection specifically so the device can’t be identified. It’s to prevent tracking, blocking, or assigning, anything based on mac address without the device owners knowledge. Every time your phone connects the network has to treat it like a new device. If it was randomized per network that would defeat the point.
I personally can’t think of any reason you would need a static IP on your phone but if you did then you should know enough to know how to turn off the randomized mac address. You can even change the setting per network so if you need a static ip at home then you just set your phone to use a static mac address on your home network and continue using a randomized one on every other network.
for a device without inbound connectors and no ip based lan firewall rules, which applies to most phones, random per connection macs seem like a pretty good default for privacy.
some networks doing “unusual” things like hotel wifi limiting you to few devices (implemented by mac counting) may be thrown off though.
I didn’t say there were no use cases for this, but the average phone user will not need it. someone using samba on their phone would likely be capable of switching the network config to not randomize every time.
Yeah, on Android 12 I can only choose between “randomized MAC” and “phone MAC”. Doesn’t specify if it’s randomized per network or connection, but I’d guess it’s per network.
By default it’s per network, but if you enable Developer Options, there is a setting under Networking called “Wi-Fi non-persistent MAC randomization” that randomizes the MAC per connection for networks that have randomization enabled. I am on Android 13 though, so I’m not sure if 12 has this option.
I think per connection is a GrapheneOS thing unless I’m wrong
On stock (Pixel) Android, if you enable Developer Options, there is a setting under Networking called “Wi-Fi non-persistent MAC randomization” that randomizes the MAC per connection for networks that have randomization enabled.
Samsung’s OneUI does this by default for all connections .
I don’t have a Samsung, but I’m pretty sure that’s still randomised per network, per connection can be enabled in the developer options somewhere.
I have a Samsung and it’s per network, even if you forget and rejoin it keeps the same random Mac address. You need to enable a developer setting to have it randomize when you join.
Per connexion would be pretty bad. Per network.
Let’s say you want to set a static DHCP ip from your router. The only way to do so (from the router, I’m not talking from the phone), is by assigning an IP to a MAC address.
If the address is randomised per connection, affecting a static DHCP ip would be impossible.
Another thing a router often has is some sort of dhcp memory. It remembers the ip it gave to a certain MAC address for some time, then when the device connects back, it assigns the same IP it had before.
So if the ip changes each time either the MAC address changes each time (not sure it’s default), or the router has no memory.
That’s the point though. The address is randomized per connection specifically so the device can’t be identified. It’s to prevent tracking, blocking, or assigning, anything based on mac address without the device owners knowledge. Every time your phone connects the network has to treat it like a new device. If it was randomized per network that would defeat the point.
I personally can’t think of any reason you would need a static IP on your phone but if you did then you should know enough to know how to turn off the randomized mac address. You can even change the setting per network so if you need a static ip at home then you just set your phone to use a static mac address on your home network and continue using a randomized one on every other network.
for a device without inbound connectors and no ip based lan firewall rules, which applies to most phones, random per connection macs seem like a pretty good default for privacy.
some networks doing “unusual” things like hotel wifi limiting you to few devices (implemented by mac counting) may be thrown off though.
I’ve run samba servers from my phones in the past (android, at least) which was nice for a “portable file server” when out and about.
I didn’t say there were no use cases for this, but the average phone user will not need it. someone using samba on their phone would likely be capable of switching the network config to not randomize every time.
Graphene just changed it to be enabled by default
But maybe they hat this feature earlier than AOSP
Yeah, on Android 12 I can only choose between “randomized MAC” and “phone MAC”. Doesn’t specify if it’s randomized per network or connection, but I’d guess it’s per network.
By default it’s per network, but if you enable Developer Options, there is a setting under Networking called “Wi-Fi non-persistent MAC randomization” that randomizes the MAC per connection for networks that have randomization enabled. I am on Android 13 though, so I’m not sure if 12 has this option.
Hey, cool! It’s here on Android 12 also! I take it as the network has to support randomization though, so it won’t work in all networks?