2023年11月27日发(作者:)

WinXP一键更改IPMAC地址

前一阵子,因为寝室里要不断更换homeshare主机,改IPMAC成了一项比

较麻烦的工序,因此一直想手动编写一个一键更改IPMAC的批处理文件,

查看一些网上方法,发现并不好用。

如,用netsh interface ip命令,该命令介绍如下:

? -显示命令列表

add -向表中添加一个配置项目

delete -从表中删除一个配置项目

dump -显示一个配置脚本

help -显示命令列表

reset -复位 tcp/ip 及相关的组件到到干净的状态

set -设置配置信息

show -显示信息

这里我们只用到set命令

如:netsh interface ip set address "本地连接" static 172.30.40.59 255.255.0.0

172.30.3.21 1

某些机器上名称不是本地连接,而是local address一类的,只要替换上述命令

中相关内容即可,IP中三项分别对应IP、掩码、网关,最后的“1”是指默认网关

的跃点数,一般为“1”

这样更改IP工作完成。

注:(该方法仅针对固定IP类型,如非固定IP则将netsh一行用以下命令替换)

1.要将指定适配器的静态地址切换为 DHCP 地址,键入以下命令:netsh

interface ip set address"本地连接" dhcp

2.更改DNS192.168.0.1:netsh interface ip set DNS "本地连接" static

192.168.0.1

缺点:该方法虽简单易懂,但执行起来速度并不快,需要看使用者电脑配置而定,

其主要原因在于更改IP的命令netsh执行较慢。

几经研究,终于有了一点心得,写在这里,希望帮助有需要的朋友~~

一、改IP设置

首先是更改本地连接里TCP/IP协议下的IP地址。用注册表添加的方法。

IP 一般存放在这个项里:

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesTcpipParameter

sInterfaces

不同计算机存放子项略有不同,我的机器在这项里

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesTcpipParameter

sInterfaces{8A894290-6559-4178-A4E5-D03734C877F3}

找到IPAddressSubnetMaskDefaultGateway三项,分别对应ip地址、子网

掩码、网关

使用reg命令即可,reg add命令的格式:

REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d fax0mail00

即将一个多值注册表项添加到 HKLMSoftwareMyCo,选项为值名:MRU;数

据类型:REG_MULTI_SZ;数值数据:fax0mail00(貌似这个比较难懂,不

管它,看下文)

命令应用如下:(假设将ip改为172.30.41.58

reg add

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesTcpipParameter

sInterfaces{8A894290-6559-4178-A4E5-D03734C877F3} /v IPAddress /t

REG_multi_SZ /d 172.30.41.58 /f

最后/f 表示强制添加,不进行询问

同理,可以修改SubnetMaskDefaultGateway,这里不再赘述,不懂处可见总

结。

二、改MAC地址

这个问题比较棘手,网上提供的方法都不可靠,看了很多人编写的软件,在改

MAC的时候也出现问题,主要是XP系统MAC地址存储方法比较特别,大多数

人都想到了用注册表添加的方法,MAC地址通常存储在注册表这一项里:(注:

不同机器,存诸地址不同,但都在红色表示的这一项内,如果找不到,就先手动

更改MAC,即设备管理器——》网络适配器——》高级——network address

locad address,在值里面添加任意数字,然后打开注册表搜索这个数字,可

以方便的找到network address这一项)

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E

972-E325-11CE-BFC1-08002bE10318}0008

使用reg命令即可,这里仅用到adddelete两个命令,可如下添加:

reg add

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E

972-E325-11CE-BFC1-08002bE10318}0008 /v NetworkAddress /d

00e04d18063e

/v表示新建项,名称为networkaddress/d表示在该项下添加值,为

00e04d18063e

大部分作者都只到这里就结束,殊不知这样改过后要重新启动网卡才可能应用,

并且大多数作者对这一操作并没有说明,这样无疑让很多初学者遇到了难题,

让这个命令变得没有意义,其实实现这一命令并不难,微软推出了一个禁用设备

的命令,名称为

思路:用这个命令先将网卡禁用然后再启用,让所添加的注册项升效

微软下载地址为:

/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce6

7f3e0240/

这个命令很强大,我们只用其中一小部分,其他作用可下载后自己查看。cmd

命令提示符下,进入所在目录,运行如下命令

devcon find pci*

系统会列出机器上所有pci设备及代号,找出你的网卡名称和代号,如:

PCIVEN_10DE&DEV_0057&SUBSYS_25011565&REV_A33&2411E6FE&0

&50:NVIDIA NETWORK BUS ENUMERATOR

这便你的网卡,注意蓝色字体为该设备代号,不同机器网卡名称和代号都是不同

的,要仔细查找

然后我们便可以利用这个命令来禁用和启用网卡了,具体如下:(devcon命令

内容这里略过,可通过help命令查看)

devcon disable *DEV_0057*

devcon enable *DEV_0057*

第一行是禁用网卡,第二行是启用网卡(如用户在使用homeshare,切莫在

homeshare未退出的情况下进行禁用和启用网卡操作,会假死的,cpu直接飙

100%,想关都很难)

至此MAC修改完成,如果想还原为原来的MAC地址,可新建一批处理将下列

命令用第二行替换,即

reg add

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E

972-E325-11CE-BFC1-08002bE10318}0008 /v NetworkAddress /d

00e04d18063e

替换为:

reg delete

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E

reg add

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesTcpipParameter

sInterfaces{8A894290-6559-4178-A4E5-D03734C877F3} /v SubnetMask /t

REG_multi_SZ /d 255.255.0.0 /f

reg add

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesTcpipParameter

sInterfaces{8A894290-6559-4178-A4E5-D03734C877F3} /v DefaultGateway

/t REG_multi_SZ /d 172.30.4.21 /f

reg add

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E

972-E325-11CE-BFC1-08002bE10318}0008 /v NetworkAddress /d

00e04d18063e

devcon disable *DEV_0057*

devcon enable *DEV_0057*

将以上代码复制到记事本内,格式存诸为*.bat即成功制作了一个批处理文件,

以后想改IPMAC时只要双击一次就行了!(也可试写一个还原为原ip/mac

的批处理,只需将最后一句中reg add改为 reg delete,同时去掉最后的mac

值即可)。

注:需将该批处理文件与放在同一目录下,切记!若想制作还原成

原来ip/mac的批处理,只需用reg delete删除networkaddress项即可。

四、文末:

如有更好修改IP的方法,欢迎留言,我们一起探讨!

同时修改IPMAC地址的小代码及制作步骤!

1:生成 IP配置文件。

修改你的IP地址配置为某一个配置,例如配置1。修改好:IPMASKDNS

GATE等(主要是IP相关的,不需要修改MAC地址)。

然后输入:

netsh -c interface dump > c:

这里就是你生成的IP配置文件了!可以改为其它的文件名,比如:实

验室,寝室!

依次生成所有的网络配置的配置文件,我假设一共生成两个网络配置分别为

2:下载软件SMAC为修改MAC地址的小软件仅8K,我已经上传了。

3:在C盘根目录下建立一个目录,把刚才下载的,生成的所有的网

络配置文件,,等一下要建立的两个批处理文件(bat)也都放要放

到这里。我假设为这个目录是:C:cmd

4:建立一个批处理文件,假设为:(可以使用记事本编辑,不过注

意保存的时候要加上用加上引号的文件名才能保存为,否则就是

输入如下代码:

smac -modifymac 0 0050BA44D27A

netsh -f

就是你要设置的某一个网络的配置,0050BA44D27A这个要替换为对应

这一个网络配置的MAC地址。另外0050BA44D27A前面的0不可以省略,这

个表示网卡(你不会有两个或者多个网卡吧?如果你有,请注意自己先试一下看

是哪一个网卡了:在这个smac程序的readme中有list功能,你可以判断一下)

同样的方法,建立,当然修改网络配置文件为mac地址

的属性了。

把这两个bat文件也放到c:cmd目录中。

5:然后你可以建立这两个bat文件的快捷方式,双击一下自动更换了!

不过请注意,修改MAC地址可能需要重新启动一下网卡比较好(禁用再启用)