Mac 地址在上网时,是直接发送到网站服务器,还是会经过转发,才到网站服务器呢?
上网后,mac 地址在传输的过程中,会因运营商转发,而导致 Mac 地址变成运营商的 Mac 地址吗?
会像动态 ip 那样吗,自己的 ip 到运营商那里,然后运营商给你更换 ip 后发送。
1
user8341 2020-10-14 00:34:00 +08:00
mac 是局域网内的,甚至都不会出你的路由器,怎么会到网站服务器呢?
更换 IP 的是 NAT,不是动态 IP ( DHCP )吧? |
2
dingdangnao 2020-10-14 00:37:11 +08:00
服务器能拿到你设备的 mac 地址??
|
3
laoda176176 OP @user8341 不好意思,没表述清楚,Mac 地址经过家里 wifi 时会变成 wifi 的 Mac 地址,这个 wifi 的 Mac 地址会直接打包发给网站服务器吗,还是中间还会经过其他设备,如运营商,而改变 Mac 地址呢
|
4
laoda176176 OP @dingdangnao 不好意思,没表述清楚,Mac 地址经过家里 wifi 时会变成 wifi 的 Mac 地址,这个 wifi 的 Mac 地址会直接打包发给网站服务器吗,还是中间还会经过其他设备,如运营商,而改变 Mac 地址呢
|
5
FutherAll 2020-10-14 00:49:21 +08:00 via iPhone
不行,中间可能会经过很多跳。
mac 地址是二层链路层的,你和服务端是在网络层通信 |
6
laoda176176 OP @FutherAll 那问下,mac 地址已经不是用户电脑的,甚至都不是用户家 wifi 的,那各个互联网公司为啥还收集 mac 地址。。。
|
7
FutherAll 2020-10-14 00:53:11 +08:00 via iPhone
可以用 wireshark 抓包看看收到的 frame 。
想要 mac 地址可以自己手动传输过来,不过用户的 mac 地址只在局域网有意义,拿到这个信息也没什么用吧 |
8
ysc3839 2020-10-14 00:53:25 +08:00
你说收集 MAC 地址,那是通过手机 /电脑客户端收集的吧?
|
9
FutherAll 2020-10-14 00:54:42 +08:00 via iPhone
@laoda176176 触及到盲区了,唯一能想到的是做设备标识
不过 mac 地址是可以随意修改的,感觉没有意义啊 |
10
laoda176176 OP @ysc3839 啊对,pc 客户端,还是苹果电脑客户端,会直接收集 mac 地址啊。。。。。这么流氓
|
11
WebKit 2020-10-14 00:59:08 +08:00 via Android
现在手机上也收集不到了,Android 返回的要么是随机的 mac 地址,要么直接返回空。至于 HTTP 更是从来都拿不到 mac 地址。
|
12
laoda176176 OP @WebKit 如果是苹果电脑或者是 Windows 电脑的客户端能直接收集 Mac 地址吗,那现在 mac 地址不就成鸡肋了,收集 mac 地址还有啥用
|
13
vk42 2020-10-14 01:21:04 +08:00 1
@laoda176176 收集 MAC 主流用途有两个,一个是作为用户指纹分辨用户身份,另外一个是收集设备周围无线 AP 的 MAC 来做众包粗定位。前面这个用途现在很少用了,一方面设备限制获取 MAC,另外有很多替代的用户指纹可以用。
|
14
shijingshijing 2020-10-14 02:14:27 +08:00
比 MAC 地址更值得担心的是 UUID,微软曾经在 Edge 浏览器上动过手脚,自动上传电脑的 UUID 。还有一个可以用于身份识别的是 CPU 的 Certificate/序列号,现在的处理器不管是 Intel 的台式机 CPU,还是高通的 Snapdragon,苹果的 A 系列处理器,都在出厂之前烧入了全球唯一的 Certificate/序列号。
|
15
z4oSkDNGGC2svsix 2020-10-14 02:42:01 +08:00
你的机器与服务器之间是通过 ip 地址交流的, 数据包每经过一个网络节点, 数据包记录的 mac 地址就会变, 它记录的是当前节点的地址.
举个例子, 你的机器的 mac 地址发送给你家里的路由器, 你家里路由器再把数据包发送给电信网关, 电信网关获取的是你路由器的 mac 地址, 网关再发给服务器, 服务器得到是电信网关的 mac 地址. 不过你的数据包的来源 ip 地址是始终不变的. 不过你运行的软件可以获取 mac 地址发给服务器. |
16
laoda176176 OP @x02 请问如果通过的是电脑客户端传输,是否就相当于一个局域网传输,MAC 地址直接就能发送到客户端的服务期而不经过转发了呢
|
17
ThirdFlame 2020-10-14 07:43:26 +08:00
@laoda176176 首先如果没有客户端,仅仅是网络通信的话,只有你局域网内的设备能看到 mac 地址,除了局域网就看不到了。
windows/MAC 客户端软件 在是在本机运行,通过相关 API 接口 /命令获取 mac 地址,又通过网络发送出去 。 而不是由于网络通信导致的 MAC 地址泄露 |
18
7DLNU56W 2020-10-14 07:50:27 +08:00
一般来说是拿不到的,mac 只在一个子网里面,到下一个子网就换了,一般如果不是直连的是拿不到你的 mac 的。
如果一定要拿到的话,只能通过本机的客户端,取得你的 mac 地址后,写在请求的参数传递出去。 |
19
zsdroid 2020-10-14 09:39:35 +08:00
收集的 mac 地址,和传输的 mac 地址是 2 个概念啊。
收集是为了标识用户。收集到的都是尾端的 mac 地址。 这个 mac 和其它输入的数据没区别。当然不会变啊。 |
21
passerbytiny 2020-10-14 09:43:05 +08:00 via Android
你与网站服务器的通讯在 7 层或 4 层模式中都属于应用层,通用应用层协议,例如 HTTP 、TLS 、Websocket,都不会涉及 MAC 地址。但是那只是通用协议,任何应用都可以使用自己专用的协议。
运营商通常不会处理应用层(一种例外情况是 DNS 劫持插广告),再隐私数据搜集这一块,可以先把运营商排除。 MAC 地址是否上传,取决于你使用的应用。如果你日常只用浏览器上网,那么 MAC 地址不会传给网站服务器。但是,如果你用得是国产浏览器或者一些非主流浏览器,那么不光 MAC 地址,你电脑上的所有东西都有可能上传给浏览器厂商的服务器。如果你用其他客户端或者 APP 上网,那就要看操作系统的隐私控制策略和应用厂商的良心了。 |
22
7DLNU56W 2020-10-14 10:22:42 +08:00
@zsdroid mac 地址是在数据链路层的,在客户端的子网,你网卡得 mac 为发送方的 mac,网关网卡的 mac 为接收方的 mac,等传到下一个子网的时候,网关的 mac 变成了发送方的 mac,下一跳网关的 mac 变成了接收方的 mac 。大概就是这样。
|
23
xx6412223 2020-10-14 10:24:25 +08:00
通俗点说。mac 解决吓一跳的问题。
|
24
libook 2020-10-14 13:44:08 +08:00
https://zh.wikipedia.org/wiki/MAC%E5%9C%B0%E5%9D%80
我了解到的 MAC 地址常用于 ARP 这个协议,路由器和内部 NAT 网路中的网卡通信的时候用的,所以一般来说不会发到你的路由器 NAT 网络之外。 当然有些程序会主动收集你的 MAC 地址然后上报给服务器,这种就有点类似间谍行为了,和网络通讯技术本身没关系。 现在有些设备已经可以随机生成 MAC 地址了,换个网络环境 MAC 地址就不一样,避免被追踪。 |
25
clf 2020-10-14 13:49:01 +08:00
之前做过一个 App 上传 Mac 地址是用于签到功能。
在手机签到的时候,会将发起签到者能扫描到的 wifi 列表的 mac 地址全部上传到服务器,其它签到者手机签到时对比该列表,如果 wifi 列表存在列表内的 mac 地址,则签到成功。(不用定位是因为室内签到无法保证定位质量) |
26
Hardrain 2020-10-14 14:32:54 +08:00 via Android
mac 在二层
网站(理解为 http/https)在七层 |
27
newmlp 2020-10-14 14:34:29 +08:00
mac 地址是二层协议的内容,无法穿透路由器的,lz 该补补计算机网络基础了
|
28
julyclyde 2020-10-14 19:27:33 +08:00
现在当程序员已经不需要学全套计算机基础课了
|
30
laoda176176 OP @x02 请问如果检测 mac 电脑客户端是否收集设备信息与设备信息收集的多少,使用抓包软件能看出来吗
|