V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
AllenHua

请教为什么安卓手机使用随机 mac 连接 wifi,路由器这边不展示主机名而展示星号或者问号

  •  
  •   AllenHua · May 22, 2021 · 7598 views
    This topic created in 1810 days ago, the information mentioned may be changed or developed.

    安卓手机使用了随机 mac,在路由器这端就无法显示主机名了,显示星号✴️️ * 或者问号❓️ ? 如何才能显示主机名?在使用随机 mac 的情况下( android 10 新增的功能:默认使用随机 mac 连接 wifi )

    ⬇️️ 这是 k2p 上,显示 *,k2p 作为 ap 使用

    20210522083043.png

    ⬇️️ 这是 openwrt 软路由上,显示 ?,openwrt 软路由家庭网络中心网关

    20210522083214.png

    ps: 这是一台刷了 lineage,android 10 的小米 6 。如果使用硬件 mac 连接 wifi,可以直接展示主机名

    Supplement 1  ·  May 23, 2021
    楼主昨天没有做测试就说这台刷了 lineage android 10 的小米 6 使用硬件 /设备 mac 就可以在 路由器上看到设备名

    但是昨晚实际还是测试了一下,忘记网络之后重新连接这个网络,在高级选项里设置使用设备 mac,dhcp offer 发完之后,小米 6 连接上网络,看 openwrt 路由器这边还是问号 [捂脸](相应的,k2p 那边是星号)

    这可能是 lineageOS 系统的隐私策略的问题……
    27 replies    2021-05-24 21:17:38 +08:00
    xppppsfg
        1
    xppppsfg  
       May 22, 2021
    mac 地址前 3 字节 oui 本来就是 IEEE 组织注册给网络设备生产商的
    AllenHua
        2
    AllenHua  
    OP
       May 22, 2021
    @xppppsfg #1 嗯嗯,在使用随机 mac 的情况下如何才能让路由器这边展示实际的主机名呢?
    Quarter
        3
    Quarter  
       May 22, 2021 via iPhone
    @AllenHua 其实你也说了原因了,因为用的是随机 mac,所以没办法判别是什么设备,就算你写了备注名,随机 mac 过一段时间也会变掉的,用了随机 mac 好像就没啥办法了,毕竟随机 mac 就是为了这个用的
    jousca
        4
    jousca  
       May 22, 2021   ❤️ 2
    随机 MAC 就是用来匿名避免跟踪身份的。当然不显示了。 不然这功能拿来干啥?
    AllenHua
        5
    AllenHua  
    OP
       May 22, 2021
    @Quarter #3
    @jousca #4
    那看来就无解了。想要显示设备名只能使用硬件 mac 。好的谢谢
    kekxv
        6
    kekxv  
       May 22, 2021 via iPhone
    这问题感觉像是在无法知道对方是谁的情况下知道对方是谁?
    BAT
        7
    BAT  
       May 22, 2021
    我记得一台设备针对一台路由器的随机 MAC 地址是固定的,不像#3 说的会过一段时间变掉。所以你可以试试在 openwrt 的[网络-主机名]里,把这个 MAC 添加一个自定义的名称、IP 地址、租约期限等等。
    BAT
        8
    BAT  
       May 22, 2021
    @BAT #7 说错了,是[openwrt 控制台-网络-DHCP/DNS-静态地址分配-添加]
    Jirajine
        9
    Jirajine  
       May 22, 2021   ❤️ 6
    楼上在说啥,这里显示的名称是客户端 dhcp 发送 dhcp 请求的时候提供的 hostname,和 mac 没关系。
    Maskeney
        10
    Maskeney  
       May 22, 2021 via Android
    盲猜随机 MAC 这个功能是为了隐私设计的,所以请求 DHCP 的时候主机名也是空着了,跟 MAC 地址并没有直接联系,楼上大多数都在一厢情愿…
    ouqihang
        11
    ouqihang  
       May 22, 2021 via Android
    同意楼上,既然为了隐私启用随机 mac,那就不发送主机名了。
    话说安卓的 hostname 一直都乱,有些手机能显示设定的名字,有些只有 android+一堆数字。
    cev2
        12
    cev2  
       May 22, 2021
    我这边 OpenWRT 和 Padavan 做 AP,iQOO 随机 MAC 连接并不影响 hostname 。
    所以应该和随机 MAC 无关,大概率是 LineageOS 的隐私策略。
    clickhouse
        13
    clickhouse  
       May 22, 2021
    @BAT 好像现在的安卓有些国内厂商默认是这样的(至少手里的一加是),不过在开发者模式里面有个选项,打开之后就算连接同一个 wifi 也每次都会变,不知道其他厂商有没有默认成这种每次都变的策略的。
    billccn
        14
    billccn  
       May 22, 2021
    可以针对某些 SSID 使用硬件 MAC 地址的,你在 SSID 上面长按点修改然后在高级里面可以选。不知道这样会不会让 DHCP 请求里的主机名恢复,但反正你也可以备注
    fox0001
        15
    fox0001  
       May 22, 2021 via Android
    歪个楼,请教一下楼主,k2p 刷什么固件比较好?我还在用官改
    weyou
        16
    weyou  
       May 22, 2021 via Android
    hostname 跟是否随机 mac 没啥关系,如果改成固定 mac 能显示 hostname, 估计是 lineage 的隐私策略,否则可能是一个 bug
    jim9606
        17
    jim9606  
       May 23, 2021
    目前常用的 MAC 随机化只会随机后 24bit,前 24bit 的 OUI 保持不变,便于 AP 侧识别厂牌。
    DHCP 客户端通过 option 12 向 DHCP 服务器提供主机名,但这是可选的。
    有些 android 系统会继续报告主机名,有 root 的可以试试 setprop net.hostname 。
    dingwen07
        18
    dingwen07  
       May 23, 2021 via iPhone
    大概是 MAC 随机化之后就不再报告主机名了(不然用主机名也能实现一定程度的跟踪)
    Windows 也这样,好像只有苹果设备的是开启随机 MAC 后仍然报告主机名
    dingwen07
        19
    dingwen07  
       May 23, 2021 via iPhone
    @dingwen07 #17 不对,刚试了一下
    MIUI 主机名是设备型号
    OneUI 就是设备名
    不管开不开 MAC 随机
    dLvsYgJ8fiP8TGYU
        20
    dLvsYgJ8fiP8TGYU  
       May 23, 2021
    @dingwen07 @jim9606

    iOS 14 开启随机 MAC 后依然能在路由器 LAN 设备列表看到主机名,并且 MAC 地址完全是随机化的,无法查找到相应厂家
    ccming
        21
    ccming  
       May 23, 2021 via iPhone
    @dLvsYgJ8fiP8TGYU 你这个 ID 自己咋能记住?
    AllenHua
        22
    AllenHua  
    OP
       May 23, 2021
    @BAT #8 这个就是静态地址租约呀,绑定一个 mac 到固定的 ip 地址,这样 dhcp 服务器在分配地址的时候会优先发这个固定 ip 的 offer 包给设备
    @Maskeney #10 然而这台小米 6 使用硬件 mac 也是问号,怀疑是 lineageOS 的问题了
    @ouqihang #11 使用了设备 mac 还是问号
    @cev2 #12 我觉得你可能说得对
    @fox0001 #15 早就不用官改啦。这个恩山上我记得有两个大神提供的 简约 padavan 固件都很不错。现在用的是从这里下载的 https://opt.cn2qq.com/padavan/
    @weyou #16 改成了设备 mac 小米 6 的主机名也没有显示
    @jim9606 #17 好的
    @dingwen07 #18 其他有些安卓 rom 也会上报主机名,比如楼上说的 vivo iqoo
    @dLvsYgJ8fiP8TGYU #20 是的 ios14 现在也是默认开启随机 mac 连接 Wi-Fi
    @ccming #21 哈哈哈 惊了
    Osk
        23
    Osk  
       May 23, 2021
    ssh 登陆路由器看日志: dnsmasq 收到的 dhcp 请求有没有主机名呢?

    顺便搭车问下: ax201 随机化 mac 后, 第一次链接时总是连不上 ap 是什么 bug?
    dLvsYgJ8fiP8TGYU
        24
    dLvsYgJ8fiP8TGYU  
       May 23, 2021
    @ccming 你说我的用户名吗?密码管理器生成的,登录的时候自动填了,不用自己记
    Hardrain
        25
    Hardrain  
       May 24, 2021   ❤️ 1
    MAC 地址前 3 字节代表设备厂商,例如在 wireshark 中抓包,以太网层的 MAC 地址默认会以"厂商名称+后 3 字节"形式表示.

    随机 MAC 用意在隐匿设备身份,网关无法获知设备型号很正常.

    至于主机名,有些 Android 手机默认的主机名是空,一些路由器固件将其显示为问号.
    AllenHua
        26
    AllenHua  
    OP
       May 24, 2021
    @Osk 这个可以 晚点回去看看日志
    > ax201 随机化 mac 后, 第一次链接时总是连不上 ap 是什么 bug
    感觉是固件 bug,尝试刷机刷成别的系统看看
    @Hardrain 好的 感谢 解释很简明扼要
    AllenHua
        27
    AllenHua  
    OP
       May 24, 2021
    2021-05-24 21:16:45 update

    下面是硬件 mac

    Sun May 23 08:06:38 2021 daemon.info dnsmasq-dhcp[17244]: DHCPDISCOVER(br-lan) 4c:49:e3:e3:77:31
    Sun May 23 08:06:38 2021 daemon.info dnsmasq-dhcp[17244]: DHCPOFFER(br-lan) 10.10.10.109 4c:49:e3:e3:77:31
    Sun May 23 08:06:38 2021 daemon.info dnsmasq-dhcp[17244]: DHCPREQUEST(br-lan) 10.10.10.109 4c:49:e3:e3:77:31
    Sun May 23 08:06:38 2021 daemon.info dnsmasq-dhcp[17244]: DHCPACK(br-lan) 10.10.10.109 4c:49:e3:e3:77:31
    Sun May 23 08:06:38 2021 user.notice nft-qos-monitor: ACTION=update, MACADDR=4c:49:e3:e3:77:31, IPADDR=10.10.10.109, HOSTNAME=
    Sun May 23 08:06:38 2021 user.notice nft-qos-dynamic: ACTION=update, MACADDR=4c:49:e3:e3:77:31, IPADDR=10.10.10.109, HOSTNAME=
    Sun May 23 08:10:48 2021 daemon.warn dnsmasq[17244]: possible DNS-rebind attack detected: v4.nas.tongyifan.me
    Sun May 23 08:24:58 2021 user.notice nft-qos-monitor: ACTION=remove, MACADDR=9e:09:1d:f8:5e:61, IPADDR=10.10.10.197, HOSTNAME=

    ---

    下面是随机 mac

    Mon May 24 21:13:26 2021 daemon.info dnsmasq-dhcp[17244]: DHCPDISCOVER(br-lan) 9e:09:1d:f8:5e:61
    Mon May 24 21:13:26 2021 daemon.info dnsmasq-dhcp[17244]: DHCPOFFER(br-lan) 10.10.10.197 9e:09:1d:f8:5e:61
    Mon May 24 21:13:26 2021 daemon.info dnsmasq-dhcp[17244]: DHCPREQUEST(br-lan) 10.10.10.197 9e:09:1d:f8:5e:61
    Mon May 24 21:13:26 2021 daemon.info dnsmasq-dhcp[17244]: DHCPACK(br-lan) 10.10.10.197 9e:09:1d:f8:5e:61
    Mon May 24 21:13:26 2021 user.notice nft-qos-monitor: ACTION=add, MACADDR=9e:09:1d:f8:5e:61, IPADDR=10.10.10.197, HOSTNAME=
    Mon May 24 21:13:26 2021 user.notice nft-qos-dynamic: ACTION=add, MACADDR=9e:09:1d:f8:5e:61, IPADDR=10.10.10.197, HOSTNAME=

    ---

    可以看到 小米 6 lineageOS android 10 这个系统 不论使用随机 mac 还是硬件 mac,在与 openwrt 中的 dnsmasq 的 dhcp 服务器协商获取 ip 过程中,服务端获取的 hostname 始终是空

    因此 openwrt 显示了问号,k2p padavan 那边的固件显示了星号

    ---

    不能 append 了,就更新在评论中
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3323 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 11:36 · PVG 19:36 · LAX 04:36 · JFK 07:36
    ♥ Do have faith in what you're doing.