V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AllenHua
V2EX  ›  宽带症候群

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

  •  
  •   AllenHua · 2021-05-22 08:41:50 +08:00 · 6537 次点击
    这是一个创建于 1316 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    20210522083043.png

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

    20210522083214.png

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

    第 1 条附言  ·  2021-05-23 08:12:16 +08:00
    楼主昨天没有做测试就说这台刷了 lineage android 10 的小米 6 使用硬件 /设备 mac 就可以在 路由器上看到设备名

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

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

    iOS 14 开启随机 MAC 后依然能在路由器 LAN 设备列表看到主机名,并且 MAC 地址完全是随机化的,无法查找到相应厂家
    ccming
        21
    ccming  
       2021-05-23 07:12:31 +08:00 via iPhone
    @dLvsYgJ8fiP8TGYU 你这个 ID 自己咋能记住?
    AllenHua
        22
    AllenHua  
    OP
       2021-05-23 08:19:33 +08:00
    @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  
       2021-05-23 10:04:26 +08:00
    ssh 登陆路由器看日志: dnsmasq 收到的 dhcp 请求有没有主机名呢?

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

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

    至于主机名,有些 Android 手机默认的主机名是空,一些路由器固件将其显示为问号.
    AllenHua
        26
    AllenHua  
    OP
       2021-05-24 16:52:47 +08:00
    @Osk 这个可以 晚点回去看看日志
    > ax201 随机化 mac 后, 第一次链接时总是连不上 ap 是什么 bug
    感觉是固件 bug,尝试刷机刷成别的系统看看
    @Hardrain 好的 感谢 解释很简明扼要
    AllenHua
        27
    AllenHua  
    OP
       2021-05-24 21:17:38 +08:00
    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 了,就更新在评论中
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2635 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:37 · PVG 13:37 · LAX 21:37 · JFK 00:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.