移动端埋点,为什么要提供 mac 地址?

移动端埋点,一般需要传递参数: mac 地址 ( Medium access control )

对应 iOS,mac 地址就是 uuid

每一次 http 的网络请求,不是发了 mac 地址吗?

在数据链路层,携带了相关信息

( Layer 2: Data Link Layer )


每一次 http 的网络请求,如果没给 mac 地址, http response 也下发不到位呀
移动端埋点,为什么要提供 mac 地址?

阅读 2.2k
1 个回答

链路层(OSI第二层)要用 mac 地址来找到网络的设备,但这个 mac 地址只是在链路使用,到上层之前会被“解包”的,最后对端传输层拿到的数据,只有发送端传输层的数据

image.png

如下图所示,mac 地址在 frame header中,到了 transport 层之后,就没了。

其实用 mac 地址做 uuid 也不是稳妥的方案,现在大多数设备支持“隐私mac”,每个 wifi 随机一个,所以并不唯一……但记得 ios 这两年不是更新了限制么,不能获取用户唯一标识了,所以 mac 也还算个勉强能用的 id 吧……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题