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

ag4*_*415 5 windows mac-address

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 地址。我知道该怎么做。我知道在adapter高级菜单中修改的方法,知道命令行修改的方法,知道修改注册表修改的方法,熟悉TMAC、SMAC等常用mac地址修改工具、macshift 等。所有这些工具都只是上面列出的方法的抽象。我已经知道所有这些方法。

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

ag4*_*415 3

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

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

要使用此方法,您将需要:

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

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

现在,在来宾虚拟机中:

  • 连接到您所需的无线网络并在连接属性中设置所需的 MAC 地址
    • 转到设置 -> 网络 -> Wi-Fi
    • 单击网络名称右侧的图标
    • 前往身份
    • 在克隆地址字段中输入所需的 MAC 地址
    • 单击“应用”并重新连接到网络
  • 返回网络设置窗口(设置 -> 网络)
  • 选择您的(虚拟)以太网连接(“有线”)
  • 单击设置齿轮并导航至“身份”
  • 确保选中“可供其他用户使用”框,然后单击“应用”
  • 打开终端并启动nm-connection-editor
  • 点击“添加”
  • 从列表中选择“以太网”并单击“创建”
  • 转到 IPv4 设置
  • 从“方法”下拉菜单中选择“共享到其他计算机”
  • 为连接指定适当的名称,例如“通过以太网共享”或“Microsoft 很糟糕”
  • 现在返回主网络设置(设置 -> 网络)
  • 再次选择“有线”
  • 您现在应该可以看到在那里建立的新连接。如果尚未连接,您可以单击它进行连接。记下它使用的 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您可以在 guest 中查看
    • 对于默认网关,输入您的访客在其以太网适配器上使用的 IP(即10.42.0.1
    • 在首选 DNS 服务器字段中输入相同的 IP
    • 单击“确定”
  • 再次单击“确定”

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

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

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