前一阵子,因为寝室里要不断更换homeshare主机,改IP和MAC成了一项比较麻烦的工序,因此一直想手动编写一个一键更改IP与MAC的批处理文件,查看一些网上方法,发现并不好用。
如,用netsh interface ip命令,该命令介绍如下:
-显示命令列表
add -向表中添加一个配置项目
delete -从表中删除一个配置项目
dump -显示一个配置脚本
help -显示命令列表
reset -复位 tcp/ip 及相关的组件到到干净的状态
set -设置配置信息
show -显示信息
这里我们只用到set命令
如:netsh interface ip set address "本地连接" static 172304059 25525500 17230321 1
某些机器上名称不是本地连接,而是local address一类的,只要替换上述命令中相关内容即可,IP中三项分别对应IP、掩码、网关,最后的“1”是指默认网关的跃点数,一般为“1”。
这样更改IP工作完成。
注:(该方法仅针对固定IP类型,如非固定IP则将netsh一行用以下命令替换)
1要将指定适配器的静态地址切换为 DHCP 地址,键入以下命令:netsh interface ip set address"本地连接" dhcp
2更改DNS为19216801:netsh interface ip set DNS "本地连接" static 19216801
缺点:该方法虽简单易懂,但执行起来速度并不快,需要看使用者电脑配置而定,其主要原因在于更改IP的命令netsh执行较慢。
几经研究,终于有了一点心得,写在这里,希望帮助有需要的朋友~~
一、改IP设置
首先是更改本地连接里TCP/IP协议下的IP地址。用注册表添加的方法。
IP 一般存放在这个项里:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces
不同计算机存放子项略有不同,我的机器在这项里
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{8A894290-6559-4178-A4E5-D03734C877F3}
找到IPAddress、SubnetMask、DefaultGateway三项,分别对应ip地址、子网掩码、网关
使用reg命令即可,reg add命令的格式:
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail\0\0
即将一个多值注册表项添加到 HKLM\Software\MyCo,选项为值名:MRU;数据类型:REG_MULTI_SZ;数值数据:fax\0mail\0\0(貌似这个比较难懂,不管它,看下文)
命令应用如下:(假设将ip改为172304158)
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{8A894290-6559-4178-A4E5-D03734C877F3} /v IPAddress /t REG_multi_SZ /d 172304158 /f
最后/f 表示强制添加,不进行询问
同理,可以修改SubnetMask、DefaultGateway,这里不再赘述,不懂处可见总结。
二、改MAC地址
这个问题比较棘手,网上提供的方法都不可靠,看了很多人编写的软件,在改MAC的时候也出现问题,主要是XP系统MAC地址存储方法比较特别,大多数人都想到了用注册表添加的方法,MAC地址通常存储在注册表这一项里:(注:不同机器,存诸地址不同,但都在红色表示的这一项内,如果找不到,就先手动更改MAC,即设备管理器——》网络适配器——》高级——》network address或locad address,在值里面添加任意数字,然后打开注册表搜索这个数字,可以方便的找到network address这一项)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0008
使用reg命令即可,这里仅用到add和delete两个命令,可如下添加:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0008 /v NetworkAddress /d 00e04d18063e
/v表示新建项,名称为networkaddress,/d表示在该项下添加值,为00e04d18063e
大部分作者都只到这里就结束,殊不知这样改过后要重新启动网卡才可能应用,并且大多数作者对这一 *** 作并没有说明,这样无疑让很多初学者遇到了难题,也让这个命令变得没有意义,其实实现这一命令并不难,微软推出了一个禁用设备的命令,名称为devconexe。
思路:用这个命令先将网卡禁用然后再启用,让所添加的注册项升效
微软下载地址为:>找软件改比较容易!
如果在本机上修改的话
点网上邻居 右键属性
点本地连接 右键属性
点配置 选高级 然后选Network Address
把你想输入的MAC地址输入后 点确定就可以了用flyakite osx,下载地址:
>网上邻居图标-鼠标右键-属性-(找到相就的网卡)-右键鼠标-属性,在属性页常规选项卡里点击配置按钮,在d出的对话框中选择“network address",在值一栏输入你的目标MAC,确定即可下IP与MAC地址绑定并被锁定限制上网的方法如何巧妙化解。
化解方法:手动修改IP和MAC地址。
既然IP与MAC地址绑定,修改MAC肯定也要修改IP。
一般MAC地址在网卡中是固定的,当然也有网络高手会想办法去修改自己的MAC地址。修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。硬件的方法就是直接对网卡进行 *** 作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。
Windows 2000/XP中的修改:同样打开注册表编辑器:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:000102030405
完成上述 *** 作后重启就好了。一般网卡发出的包的源MAC地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的实现中,应用程序先从网卡上得到MAC地址,每次发送的时候都用这个MAC作为源MAC而已,而注册表中的MAC地址是在Windows安装的时候从网卡中读入的,只要你的 *** 作系统不重新安装应该没有问题
另一种修改MAC的方法:打开本地连接的属性,在“常规”里面,有一个“配置”,然后点“高级”,选“network address”,选中“值”,在里面填写数据。这个数据你最好到开始-运行-cmd,输入IPCONFIG /ALL 察看,如:00-1D-7D-77-45-83,找到你的那个值,去掉-,修改最后1个数,填进去就行了。
修改IP地址的方法:开始-运行-cmd,输入IPCONFIG /ALL 察看,将里面的信息纪录下来,到本地连接的属性里面-Internet协议TCP/IP-属性,点使用下面IP地址,然后把你纪录的写进去就行了,但也要把如19216813,后面的改一位数字,比如改成19216814,网关就不要改了。
本人觉得不管要修改IP还是MAC,首先,你都要找到一个可用的,没有被锁定限制的MAC和对应的IP。只要局域网内不存在相同的MAC和IP地址,那么就不会有地址冲突,就可以很好的使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)