网站可以识别我的MAC地址吗?


16

访问网站时,我的MAC地址可以由网站标识吗?如果该站点要求我上传文件,这会有所不同吗?


您的问题含糊。请指定并提供更多详细信息。
靛蓝

1
通过网络流量:否。通过浏览器中的代码:也许。
Ricky Beam

Answers:


21

通常,您访问的网站不可能学习您的MAC地址。但是,在某些特殊情况下,服务器可以学习您的MAC地址:

  1. IPv6支持以将MAC地址嵌入IP地址的方式分配地址。出于隐私原因,这种分配IPv6地址的方法不是很常见。
  2. 如果您直接连接到与Web服务器相同的网段,则它将能够看到您的MAC地址。(但这可能不是您想到的情况。)
  3. 我已经看到一些ISP将客户设备的MAC地址嵌入到反向DNS记录中(格式x1-6-后面是MAC地址)。
  4. 浏览器中可能具有脚本功能,该功能将允许脚本学习客户端计算机的MAC地址并将其发送到服务器。我不知道javascript是否可以获取客户端计算机的MAC地址,但是我知道它可以找到本地IP地址。

2
对于#1,请参阅RFC 4941
Bob

我不相信JavaScript可以获取设备的MAC地址。
森林

16

不可以,除非您使用的是带有EUI-64地址的 IPv6 ,否则远程站点将仅了解您正在使用的公共IP地址,而不是设备的MAC 地址。在这种情况下,您的MAC地址可能来自IPv6地址。


3

您应该研究OSI模型。MAC地址是帧中的第2层地址,但是帧在路由器上被剥离。IP地址是数据包中的第3层地址。只有数据包会通过路由器。

主机和交换机使用帧中的MAC地址将帧传送到LAN上的正确主机(包括网关,该网关只是第2层上的另一个主机)。当网关(路由器)从主机获取帧时,它会剥离帧头以到达数据包,并根据IP地址路由数据包。当路由器将数据包发送到新接口时,它将使用自己的新帧MAC地址为新链路创建新帧封装。当数据包从一个路由器到另一个路由器到达其最终目的地时,唯一幸存的源MAC地址将是最终路由器的MAC地址。


3
完全正确,但我认为没有人应该研究OSI模型。它不适用于TCP / IP,TCP / IP具有自己的,历史上较早的模型,并且也不适用于现实世界中的其他任何事物。它甚至不适用于OSI协议套件。
user207421 '16

2
OSI模型通常有助于理解事物的工作方式。在整个传输层,现代网络堆栈与OSI模型的配合非常好。从第5层开始,OS和应用程序程序员与OSI模型不匹配,但是无论如何,这些层在这里都是无关紧要的。
罗恩·莫平

3
@EJP,真正的重点是,专业网络的网络专业人员(根据帮助中心,通过OSI第4层在此处讨论的话题)应该熟悉OSI模型,并且应该了解MAC地址是第2层地址,IP地址是第3层地址,而TCP / UDP端口是第4层地址,以及数据报如何流经网络堆栈中的不同层并由其封装。
罗恩·莫平

1
在配置网络设备时,PPP是第二层协议。它具有到所支持的第3层协议的桥(NCP)。在配置网络设备(例如Cisco)时,它被配置为第2层协议。对于终端设备来说可能有所不同,但是在此处配置这些设备是不合时宜的。
罗恩·莫平

4
@kasperd:重点是讲授抽象层的概念。叫什么名字或学习哪种模型并不重要。
与莫妮卡(Monica)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.