this post was submitted on 23 Aug 2023
1317 points (99.0% liked)
Programmer Humor
19594 readers
704 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Let's pretend someone didn't know how to do that on an android. How would you explain it to them?
On android when you go to the wifi settings you're currently connected to there should be a setting for randomizing mac address per connection or per network. If you change it to per connection, once you disconnect and reconnect your mac address should change. On per network, it will randomly generate the mac address for the first connection and keep that address for that wifi forever.
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.
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.
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.
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?