一个简单的问题。我假设 MAC 地址存储在 IP 数据包中,即使 IP 数据包被另一端的主机接收。我知道可以使用 VPN 服务更改 IP 地址。但是 MAC 地址是什么?即使 IP 地址发生变化,是否可以使用 MAC 比较来识别一个用户?
答案1
每个数据包都封装在一个帧中,该帧具有源 MAC 地址和目标 MAC 地址。
一旦超出本地广播域(跨路由器移动),源 MAC 地址和目标 MAC 地址都会被删除,并用下一个广播域中的适当地址替换。
在大多数情况下,这意味着 MAC 将在此过程中发生多次更改。
来源:https://arstechnica.com/civis/viewtopic.php?t=318213
因此,回答您的问题,是也不是。如果网络相当平坦,即同一子网内交换机上的任何设备,这应该是可以实现的。当路由器必须在广播域之外进行任何数据包遍历时,源设备和目标设备就会被路由器更改数据包的源和目标标头,以便路由器成为源,下一跳成为目标。
答案2
我假设,即使 IP 数据包被另一端的主机接收,MAC 地址也会存储在 IP 数据包中。
不,这是一个错误的假设。
它们的关系是相反的。MAC层的工作原理在下面IP – 因此 IP 数据包实际上存储在 MAC 帧内,而不是相反。
MAC 层的范围较窄:它处理两个设备之间的本地链路(介质),例如单个以太网/WiFi 子网。当数据包通过路由器时,它们会从一个链路传输到另一个链路,然后再传输到另一个链路,并且每次跳跃都会收到不同的 MAC 标头。(有些链路是点对点的,甚至没有 MAC 层地址。)
当然,在日常连接到以太网/WiFi 网络的 PC 上,用户可以完全控制其 MAC 地址,并且可以每天更改它。(最近的操作系统,甚至是移动操作系统,都已开始自动随机化 MAC 地址 - 特别是为了防止跟踪。)