Mac 地址在日常上网时,会直接发送到网站服务器吗?

2020-10-14 00:22:10 +08:00
 laoda176176

Mac 地址在上网时,是直接发送到网站服务器,还是会经过转发,才到网站服务器呢?

上网后,mac 地址在传输的过程中,会因运营商转发,而导致 Mac 地址变成运营商的 Mac 地址吗?

会像动态 ip 那样吗,自己的 ip 到运营商那里,然后运营商给你更换 ip 后发送。

4577 次点击
所在节点    程序员
30 条回复
user8341
2020-10-14 00:34:00 +08:00
mac 是局域网内的,甚至都不会出你的路由器,怎么会到网站服务器呢?

更换 IP 的是 NAT,不是动态 IP ( DHCP )吧?
dingdangnao
2020-10-14 00:37:11 +08:00
服务器能拿到你设备的 mac 地址??
laoda176176
2020-10-14 00:45:12 +08:00
@user8341 不好意思,没表述清楚,Mac 地址经过家里 wifi 时会变成 wifi 的 Mac 地址,这个 wifi 的 Mac 地址会直接打包发给网站服务器吗,还是中间还会经过其他设备,如运营商,而改变 Mac 地址呢
laoda176176
2020-10-14 00:45:19 +08:00
@dingdangnao 不好意思,没表述清楚,Mac 地址经过家里 wifi 时会变成 wifi 的 Mac 地址,这个 wifi 的 Mac 地址会直接打包发给网站服务器吗,还是中间还会经过其他设备,如运营商,而改变 Mac 地址呢
FutherAll
2020-10-14 00:49:21 +08:00
不行,中间可能会经过很多跳。
mac 地址是二层链路层的,你和服务端是在网络层通信
laoda176176
2020-10-14 00:52:09 +08:00
@FutherAll 那问下,mac 地址已经不是用户电脑的,甚至都不是用户家 wifi 的,那各个互联网公司为啥还收集 mac 地址。。。
FutherAll
2020-10-14 00:53:11 +08:00
可以用 wireshark 抓包看看收到的 frame 。
想要 mac 地址可以自己手动传输过来,不过用户的 mac 地址只在局域网有意义,拿到这个信息也没什么用吧
ysc3839
2020-10-14 00:53:25 +08:00
你说收集 MAC 地址,那是通过手机 /电脑客户端收集的吧?
FutherAll
2020-10-14 00:54:42 +08:00
@laoda176176 触及到盲区了,唯一能想到的是做设备标识
不过 mac 地址是可以随意修改的,感觉没有意义啊
laoda176176
2020-10-14 00:57:33 +08:00
@ysc3839 啊对,pc 客户端,还是苹果电脑客户端,会直接收集 mac 地址啊。。。。。这么流氓
WebKit
2020-10-14 00:59:08 +08:00
现在手机上也收集不到了,Android 返回的要么是随机的 mac 地址,要么直接返回空。至于 HTTP 更是从来都拿不到 mac 地址。
laoda176176
2020-10-14 01:02:15 +08:00
@WebKit 如果是苹果电脑或者是 Windows 电脑的客户端能直接收集 Mac 地址吗,那现在 mac 地址不就成鸡肋了,收集 mac 地址还有啥用
vk42
2020-10-14 01:21:04 +08:00
@laoda176176 收集 MAC 主流用途有两个,一个是作为用户指纹分辨用户身份,另外一个是收集设备周围无线 AP 的 MAC 来做众包粗定位。前面这个用途现在很少用了,一方面设备限制获取 MAC,另外有很多替代的用户指纹可以用。
shijingshijing
2020-10-14 02:14:27 +08:00
比 MAC 地址更值得担心的是 UUID,微软曾经在 Edge 浏览器上动过手脚,自动上传电脑的 UUID 。还有一个可以用于身份识别的是 CPU 的 Certificate/序列号,现在的处理器不管是 Intel 的台式机 CPU,还是高通的 Snapdragon,苹果的 A 系列处理器,都在出厂之前烧入了全球唯一的 Certificate/序列号。
z4oSkDNGGC2svsix
2020-10-14 02:42:01 +08:00
你的机器与服务器之间是通过 ip 地址交流的, 数据包每经过一个网络节点, 数据包记录的 mac 地址就会变, 它记录的是当前节点的地址.
举个例子, 你的机器的 mac 地址发送给你家里的路由器, 你家里路由器再把数据包发送给电信网关, 电信网关获取的是你路由器的 mac 地址, 网关再发给服务器, 服务器得到是电信网关的 mac 地址.

不过你的数据包的来源 ip 地址是始终不变的.

不过你运行的软件可以获取 mac 地址发给服务器.
laoda176176
2020-10-14 07:09:07 +08:00
@x02 请问如果通过的是电脑客户端传输,是否就相当于一个局域网传输,MAC 地址直接就能发送到客户端的服务期而不经过转发了呢
ThirdFlame
2020-10-14 07:43:26 +08:00
@laoda176176 首先如果没有客户端,仅仅是网络通信的话,只有你局域网内的设备能看到 mac 地址,除了局域网就看不到了。

windows/MAC 客户端软件 在是在本机运行,通过相关 API 接口 /命令获取 mac 地址,又通过网络发送出去 。 而不是由于网络通信导致的 MAC 地址泄露
7DLNU56W
2020-10-14 07:50:27 +08:00
一般来说是拿不到的,mac 只在一个子网里面,到下一个子网就换了,一般如果不是直连的是拿不到你的 mac 的。

如果一定要拿到的话,只能通过本机的客户端,取得你的 mac 地址后,写在请求的参数传递出去。
zsdroid
2020-10-14 09:39:35 +08:00
收集的 mac 地址,和传输的 mac 地址是 2 个概念啊。
收集是为了标识用户。收集到的都是尾端的 mac 地址。
这个 mac 和其它输入的数据没区别。当然不会变啊。
zsdroid
2020-10-14 09:42:20 +08:00
@7DLNU56W 网卡的 mac 为什么会变?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/714662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX