有人告诉我,无论操作系统为接口的 MAC 设置了什么,接口都可以传输帧。我还以为虚拟机也是这样做的主机桥接如果是这样,那么接口绑定的 MAC 地址有什么用呢?
具体来说,我问的是软件 MAC,而不是 70 年代刻录到 ROM 中的 MAcs:
wlan0 Link encap:Ethernet HWaddr 00:16:ce:01:
这是来自的一行输出ifconfig
,但我被告知接口 wlan0 可以在 /任何/ MAC 地址下传输,而我看到的 MAC 什么都不做(除了可能为某些库提供默认值)。我被告知,使用虚拟机的主机桥接,它将利用这一点,并在任意数量的 ip 地址上传输 - 但它并不止于此,AP 实际上将允许您为每个虚拟机分配一个唯一的 IP,因为 AP 将在不同的 MAC 上接收请求。
- 您是否有任何特殊权限(linux)来从“虚拟”MAC 地址制作数据包。
- 如果路由器通过 MAC 地址来跟踪哪个接口和主机具有哪个 IP,那么如何阻止一台主机向虚拟接口请求所有 IP
- 如何阻止用户使用虚拟 MAC 地址
- 这是否需要在内核中增加一个特殊选项或者在网络堆栈中增加一个部分来构建?
答案1
MAC 地址由 IEEE 组织和标准化。连接到以太网的每个设备都有一个分配给它的唯一 MAC 地址,这样任何两个设备都可以在同一个网络上并且无问题地通信。但这并不意味着操作系统不能选择使用哪个 MAC 地址,例如用于监控或欺骗流量。有很多可读内容这里
回答以下问题
- 有了 root 权限,您基本上可以做任何您想做的事情。有两种方法可以发送带有自定义 MAC 的数据包:第一,使用 ifconfig 命令更改接口上的 MAC 地址,这将影响整个系统的所有流量;第二,自己形成数据包并使用专门的代码将它们直接写入接口。例如,当您告诉 nmap 使用不同的源 MAC 地址扫描端口时,nmap 会使用此方法。
- (3)您不需要。如果恶意主机进入您的网络并决定劫持 MAC 地址,您可能会遇到严重问题。这就是为什么保护您的 LAN 并制定严格的访问控制策略很重要的原因之一。在我的公司,我们的桌面 LAN 交换机配置为每个端口都会学习与其连接的计算机的 MAC 地址,如果该地址发生变化,端口将关闭,所有未使用的端口也将关闭。这项政策是在一名夜班保安试图插入他的笔记本电脑后实施的,该笔记本电脑配置了与我们其中一台服务器相同的静态 IP,并导致了很多问题。通过将每个端口限制为一个 MAC 地址,我们现在能够(大部分)防止这种情况发生。只有当有人知道将他们的 MAC 更改为已插入的计算机的地址时,他们才能进入我们的网络,这种情况极不可能发生。此外,关于向所有 MAC 请求所有 IP,您的交换机会不断更新其 MAC 表,因此只要有效主机发送新数据包,表就会使用正确的端口进行更新。如果恶意的人不断用畸形的数据包污染网络,那么你能做的就很少了。