如何绕过 Windows 8.1 中无线适配器 MAC 地址的第一个八位字节限制

如何绕过 Windows 8.1 中无线适配器 MAC 地址的第一个八位字节限制

Windows 8.1 有一个“功能”,它会限制您可以在无线网络适配器上设置 mac 地址的值(注意:此限制不适用于以太网适配器),即使您的网络适配器本身不包含任何限制,并且允许您将 mac 地址更改为任何您喜欢的值(可以通过启动到任何其他操作系统,例如 BSD 或 Linux,并在那里更改 mac 地址来确认)

这个问题已经在这里问过了:将 Windows 7/8 Wi-Fi Mac 地址更改为自定义值

然而回答问题的用户忽略了海报上的内容并提供了通过他(和我)已经使用的方法来更改 mac 地址的说明。这些方法不要绕过限制,并且您仍然只能将地址更改为符合以下模式的值:

X2-XX-XX-XX-XX-XX

X6-XX-XX-XX-XX-XX

XA-XX-XX-XX-XX-XX

XE-XX-XX-XX-XX-XX

例如,如果您将 mac 地址更改为02:E3:14:D7:4C:00,更改将生效。如果您尝试将其更改为24:E3:14:D7:4C:00,则不会生效。此值仍将显示在驱动程序高级设置中的“网络地址”字段中,但操作系统将强制将 MAC 地址恢复为该卡的默认值

这里还有一些屏幕截图,仅用于说明问题:

如果第一个八位字节是 02,则更改 mac 地址有效

如果第一个八位字节是 24,则更改 mac 地址会失败

更糟糕的是,该用户的问题也是错误地标记为与一般问题重复,询问如何更改 mac 地址。这不是他要问的,也不是我要问的。所以在回答之前,请确保你明白我在问什么:

我是不是询问如何更改我的 mac 地址。我知道该怎么做。我知道在适配器高级菜单中更改它的方法,我知道使用命令行更改它的方法,我知道通过编辑注册表更改它的方法,我熟悉常见的 mac 地址更改工具,如 TMAC、SMAC、macshift 等。所有这些工具都只是上面列出的方法的抽象。我已经知道所有这些方法了。

问题是,如何成功地将 mac 地址更改为在 Windows 8.1 上不以 02、06、0A 或 0E 开头, 因为操作系统中有一个“功能”,如果第一个八位字节不是这些值之一,它将覆盖您将其设置为默认 NIC mac 地址的任何值。换句话说,我问的是是否有任何方法可以禁用此限制功能,或者以某种方式绕过它。

答案1

因此,我找到了一种解决此限制的方法,并认为我将把它发布在这里,因为我想许多其他人也对这个问题感到沮丧,并想知道如何绕过它。

但请注意,这种方法远的来自漂亮,并且需要大量资源。连接也会受到一些额外延迟的影响(但仍可使用)。

要使用此方法,您需要:

安装 VMWare 播放器并下载 Kali Linux 映像后,请执行以下操作:

  • 确保你的 USB Wifi 适配器已插入
  • 打开 Kali Linux VMWare 映像并确保将其网络设置配置为“仅主机”
  • 在 VMWare Player 中启动 Kali Linux 映像。
  • 从 VMWare 播放器的设置菜单中,导航至可移动设备 ->(您的 USB 适配器名称)-> 连接(断开与主机的连接)
    • 笔记:您将无法再直接在主机上使用该适配器。设备的控制权将转交给 Kali Linux VM。
  • 等待 Kali Linux 检测设备并启用它。
    • 如果出于某种原因它没有自动出现,您可能需要一个特殊的驱动程序。Google 是您的好朋友(无论如何,它可以帮您找到驱动程序)

现在,在客户虚拟机

  • 连接到所需的无线网络,并在连接属性中设置所需的 MAC 地址
    • 前往“设置”->“网络”->“Wi-Fi”
    • 点击网络名称右侧的图标
    • 转至身份
    • 在克隆地址字段中输入所需的 MAC 地址
    • 单击“应用”并重新连接网络
  • 返回网络设置窗口(设置 -> 网络)
  • 选择您的(虚拟)以太网连接(“有线”)
  • 单击设置齿轮并导航至“身份”
  • 确保选中“使其他用户可用”框,然后单击“应用”
  • 打开终端并启动nm-connection-editor
  • 点击“添加”
  • 从列表中选择“以太网”,然后单击“创建”
  • 转到 IPv4 设置
  • 从“方法”下拉菜单中,选择“共享到其他计算机”
  • 给连接起一个合适的名字,比如“通过以太网共享”或“微软糟透了”
  • 现在返回主网络设置(设置 -> 网络)
  • 再次选择“有线”
  • 现在您应该可以看到您在那里建立的新连接。如果尚未连接,您可以单击它进行连接。记下它使用的 IP 地址(在我的情况下是10.42.0.1

现在,在主机(您的 Windows 框):

  • 转到网络和共享中心 -> 更改适配器设置
  • 右键单击“VMWare 网络适配器 VMnet1”,然后单击“属性”
  • 选择“Internet 协议版本 4 (TCP/IPv4)”,然后单击“属性”
  • 勾选“使用以下 IP 地址”单选框并输入以下内容
    • 对于 IP 地址,请将其设置为与客户机以太网适配器位于同一网络中的唯一地址。因此,如果您的客户虚拟机的以太网适配器使用 xxx1,则可以使用 xxx2。在我的情况下,我使用了10.42.0.2
    • 使用与客户虚拟机相同的子网掩码。在我的情况下是255.255.255.0
      • ifconfig eth0 | grep netmask您可以在访客中检查
    • 对于默认网关,请输入您的客户机在其以太网适配器上使用的 IP(即10.42.0.1
    • 在首选 DNS 服务器字段中输入相同的 IP
    • 单击“确定”
  • 再次单击“确定”

现在,您应该有一个从主机操作系统的 VMNet1 接口到客户操作系统上的 wlan0 接口的工作隧道,通过其 eth0 接口(隧道到隧道,呵呵)。您可以使用客户机来欺骗 mac,并使用该卡做任何您想做的事情,而不受微软的 BS 任意限制

我将尝试找到一种更优雅的方式来做到这一点,因为我并不是 Linux 的超级粉丝。理想情况下,我想设置一个紧凑的基于 BSD 的 CLI 专用 VM 来处理这个问题,而不是运行臃肿的 Linux 发行版,但与此同时,这种方法对我来说很有效,希望它能帮助其他面临同样问题的人。

还要注意的是,如果您有单独的物理设备(例如 Raspberry Pi)而不是 VM,您可以使用它来执行类似操作(不幸的是我目前没有其他设备),基本概念是相同的只有您将少担心一步(配置虚拟网络适配器。)

相关内容