方法一:使用windows控制面板修改
第一步 按win键>输入『控制面板』并打开。
第二步 打开『网络和共享中心』
第三步 打开『更改适配器设置』
第四步 右击 『WLAN2』后点击属性
第五步 修改网络地址属性
点击配置,点击『高级』选项卡,在下面找到『网络地址』属性,将值设为新的Mac地址,点击确定。如果你没有找到『网络地址』这个属性,则需要先修改注册表中的信息。修改方法在本文末尾!!!
方法二:使用命令行修改
第一步 修改测试表中的NetworkAddress属性
在cmd中输入以下命令:
reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}\\0004 /v NetworkAddress /t REG_SZ /d {你要设置的MAC地址}
第二步 重启网卡
在cmd中依次输入以下两条命令:
netsh interface set interface "{网络适配器名称}" disabled
netsh interface set interface "{网络适配器名称}" enabled
其中的网络适配器名称可以在方法一中提到的控制面板>网络和共享设置>更改适配器选项中查看,也可以在命令行中使用ipconfig /all
查看。
方法三:使用编程语言封装,以Java为例。
我们可以通过一些高级编程语言,调用方法二中的命令行命令,实现一个一键切换电脑MAC地址的程序。
首先我们可以实现一个随机MAC地址生成器,使得程序每次运行都生成一个新的MAC地址,由于某些原因,这里并没有给出生成器的代码。
public static class RandomMACAddressGenerator {public String randomMACAddress() {return null;}}
调用命令行命令修改注册表代码:
public static void changeMAC(String newMACAddress) throws IOException {String cmd = "reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}\\0004 /v NetworkAddress /t REG_SZ /d "+ newMACAddress+ " /f";Process process = Runtime.getRuntime().exec(cmd);log(process);// 输出命令行运行输出System.out.println("成功改变MAC为:" + newMACAddress);}
调用命令行命令重启网卡:
public static void rebootNetworkCard() throws IOException {String disabledCmd = "netsh interface set interface \"WLAN 2\" disabled";String enabledCmd = "netsh interface set interface \"WLAN 2\" enabled";final Process disabledProcess = Runtime.getRuntime().exec(disabledCmd);log(disabledProcess);// 打印命令行运行输出到控制台final Process enabledProcess = Runtime.getRuntime().exec(enabledCmd);log(enabledProcess);// 打印命令行运行输出到控制台}
附加:高级属性中没有『网络地址』选择怎么办?
第一步 按下win键,输入『注册表编辑器』并打开。
第二步 在注册表中找到需要修改的网卡
在注册表上方的输入框中输入下面的路径,敲下回车:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}
然后会看到该目录下有一系列以数字命名的文件夹(如上图),依次寻找我们需要修改的网卡。寻找方法:点击左侧的小目录,然后在右侧中查看DriviceDesc属性,找到与我们WiFi硬件属性中描述相同的项。
第三步 新建NetworkAddress属性项
右击对应网卡的文件夹的Ndi>Params,点击新建>项。
将新建的项命名为NetworkAddress,并写入以下属性。然后保存退出,设置中对应位置就会有网络地址属性了。