如何修改 mac地址的方法

各个不同品牌的网卡有专用的刷新程序,需要针对芯片型号下载相应的刷新程序

轻松修改网卡MAC地址
  网卡的MAC地址是固化在网卡EPROM中的物理地址,是一块网卡的“身份证”,通常为48位。在平常的应用中,有很多方面与MAC地址相关,如有些软件是和MAC地址绑定的,没有允许的MAC地址,软件就无法运行;或者在局域网里,管理人员常常将IP与客户机的MAC地址绑定,以方便管理,万一用户的网卡坏掉了,自行更改网卡后必须向管理人员申请更改绑定的MAC地址,这样就比较麻烦。在这种时候,如果我们能够更改一下网卡的MAC地址,那就方便多了。实际上,修改网卡的MAC地址是很容易的,我们既可以在操作系统中通过软件来修改网卡的MAC地址,而实际的网卡MAC地址不变,以达到欺骗软件的目的;也可以用工具直接更改网卡的实际MAC地址。

一、瞒天过海
 1.修改注册表
   几乎所有的网卡驱动程序都可以被NdisReadNetworkAddress参数调用,以便从注册表中读取一个用户指定的MAC地址。当驱动程序确定这个MAC地址是有效的,就会将这个MAC地址编程到硬件寄存器中,而忽略网卡固有的MAC地址。我们通过手工修改Windows的注册表就可以达到目的。
   在Winodws 98下运行Windows的注册表编辑器,展开“HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net”,会看到类似“0000”、“0001”、“0002”的子键。从“0000”子键开始点击,依次查找子键下的“DriverDesc”键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。
   当找到正确的网卡后,点击下拉式菜单“编辑/新建/字符串”,串的名称为“Networkaddress”,在新建的“Networkaddress”串名称上双击鼠标就可以输入数值了。输入你想指定的新的MAC地址值。新的MAC地址应该是一个12位的十六进制数字或字母,其间没有“-”,类似“000000000000”的这样的数值(注意,在Windows 98和Windows 2000/XP中具体键值的位置稍有不同,可通过查找功能来寻找)。
   在“NetworkAddress”下继续添加一个名为 “ParamDesc”的字串值,它将作为“NetworkAddress”项的描述,数值可以取为“MAC Address”。再把它的内容修改为你想设定的内容。如图所示。这样,我们就成功地修改了网卡的MAC地址,重新启动计算机即可。

2.修改网卡属性
   大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址,在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。在“属性”区,就可以看到一个称作“Network Address”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。要连续输入12个十六进制数字或字母,不要在其间输入“-”。重新启动系统后设置就会生效了。

二、釜底抽薪
   假如用户使用的是RealTek公司的RTL8139A/B/C/D系列芯片的网卡,有一种更简单的方法修改MAC地址。RealTek公司设计的PG8139软件可以直接修改RTL8139系列网卡的MAC地址,甚至可以让每次启动后网卡的MAC地址都不相同。具体操作如下:
   把pg8139.zip解压缩到一个文件夹下,以8139C芯片为例,用记事本打开该目录下的8139c.cfg文件,修改8139c.cfg文件的第一行,将“NodeID”(网卡号)后改为所需要的新值,建议初始值为“00 E0 4C 00 00 01”,修改时注意每两位之间至少要留一个空格。

保存后再进入MS-DOS方式(注意,要在纯DOS模式下),在DOS提示符后输入“pg8139 /pci 8139c.cfg”后再按回车键,此时系统如果提示“Programming EEPROM is successful”则说明更改成功。PG8139程序每成功运行一次,在相应的8139c.cfg文件中,系统会自动将“NodeID”的值加1,也就是说,第一次运行时给当前工作站网卡分配的MAC地址为“00 E0 4C 00 00 01”,第二次运行时,系统会自动分配为“00 E0 4C 00 00 02”,第三次运行时,会自动为“00 E0 4C 00 00 03”……,依此类推,就可以批量地修改网卡的MAC地址,不再需要重复修改8139c.cfg文件了。
   如果用户的网卡是RTL8139其他版本的芯片,只要找到相应的.cfg文件修改就行了。
   另外,还有一种极端的办法,通过烧录网卡的EEPROM来达到克隆MAC地址的目的。但这样做风险很大,而且操作复杂,即使是有经验的用户也难免在操作中出现错误,不推荐进行这种操作。
 三、巧借东风
  如果是Windows 2000/XP的用户,则可以使用免费MAC地址修改软件SMAC。运行SMAC后,窗口中的列表框列出计算机上正处于工作状态的网卡。选定要修改的网卡后,在列表框下方的六个输入框中输入新的MAC地址后,点击右侧的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。

修改MAC地址的工具有很多,但大多数都只适用于Windows 2000/XP,推荐用“超级兔子魔法设置”,因为不但简单易用,而且在Windows 9x系统中使用同样有效。 
   修改完成后,要使设置生效,一般的办法是重新启动系统。还有一种简单的办法不需要重新启动系统,在“设备管理器”中,选定网络适配器图标,点击鼠标右键,选择“禁用”(请注意操作后,状态栏是否已显示为“禁用”)。然后再右键单击选定的网络适配器,在右键菜单中选择“启用”。这样就能使修改后的设置生效。

linux环境下:
需要用 
#ifconfig eth0 down 
先把网卡禁用 
再用ifconfig eth0 hw ether 1234567890ab 这样就可以改成功了
要想永久改就这样
在/etc/rc.d/rc.local里加上这三句(也可以在/etc/init.d/network里加下面三行)
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab 
ifconfig eth0 up

另:
在win2000中改MAC地址的方法: 
打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子键,在该子键下的0000,0001,0002等分支中查找DriverDesc,在0000子键下天一个字符串项,命名为NetworkAddress,键值设为修改后的MAC地址,要求为连续的12个16进制数,如1234567890AB。然后在0000下的NDI\params中加一项名为NetworkAddress的子键,在该子键下添加名为default的字符串,键值为修改后的MAC地址,与上面的数值相同。在NetworkAddress的主键下继续添加命名为ParamDesc的字符串,其作用是制定NetworkAddress主键的描述,其值可为“MAC 地址”,这样以后打开网络属性,双击相应的网卡会发现有一个高级设置,其下坐在“MAC地址”的选项,在此修改MAC地址就可以了,修改后需重启。 
Windows环境:用dos,8139的可以改,用realtek的pg8139.exe,比如 是8139c网卡,就改写8139c.cfg文件,第一行就是网卡mac,想怎么改就怎么改

(0)

相关推荐

  • 如何修改 mac地址的方法

    各个不同品牌的网卡有专用的刷新程序,需要针对芯片型号下载相应的刷新程序 轻松修改网卡MAC地址   网卡的MAC地址是固化在网卡EPROM中的物理地址,是一块网卡的"身份证",通常为48位.在平常的应用中,有很多方面与MAC地址相关,如有些软件是和MAC地址绑定的,没有允许的MAC地址,软件就无法运行:或者在局域网里,管理人员常常将IP与客户机的MAC地址绑定,以方便管理,万一用户的网卡坏掉了,自行更改网卡后必须向管理人员申请更改绑定的MAC地址,这样就比较麻烦.在这种时候,如果我们能

  • linux下修改MAC地址问题解决方法

    在linux中,修改MAC地址 # ifdown eth0 # ifconfig eth0 hw ether 12:34:56:78:90:12 (修改的MAC地址跟原来的地址不同) # ifup eth0 (修改成功) 后,用# ifconfig 查看,MAC地址改变了,但之后输入#service network restart 或ifdowneth0命令时,会出现如下错语信息: Device eth0 has MAC address 12:34:56:78:90:12, instead of

  • C#获取本机IP地址和Mac地址的方法

    本文实例讲述了C#获取本机IP地址和Mac地址的方法.分享给大家供大家参考.具体分析如下: 查找了几个方法,经过调试修改,下面这个方法能很好的获取到本地的IP和MAC地址.可以用于这方面的功能实现.主要是要添加System.Management的引用. using System; using System.Management; using System.Net; public class Program { static void Main(string[] args) { try { str

  • java编程实现获取服务器IP地址及MAC地址的方法

    本文实例讲述了java编程实现获取服务器IP地址及MAC地址的方法.分享给大家供大家参考,具体如下: 已测系统: windows linux unix 排除127.0.0.1 和 0.0.0.0.1等非正常IP import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enu

  • java 获取用户的MAC地址多种方法实例详解

    java实现获取用户的MAC地址方法: 方法一:将本机地址与局域网内其他机器区分开来 /** * 根据IP地址获取mac地址 * @param ipAddress 127.0.0.1 * @return * @throws SocketException * @throws UnknownHostException */ public static String getLocalMac(String ipAddress) throws SocketException, UnknownHostEx

  • Java获取mac地址的方法

    本文实例讲述了Java获取mac地址的方法.分享给大家供大家参考.具体如下: /* * GetMacAddress .java * * description:get Mac addreess * * @author hadeslee * * Created on 2007-9-27, 9:11:15 * * To change this template, choose Tools | Templates * and open the template in the editor. */ pa

  • C#实现获取MAC地址的方法

    本文实例讲述了C#实现获取MAC地址的方法,是一个非常常见而且实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 根据网卡类型来获取mac地址 /// </summary> /// <param name="networkType">网卡类型</param> /// <param name="macAddressFormatHanlder">格式化获取到的mac地址</

  • python生成随机mac地址的方法

    本文实例讲述了python生成随机mac地址的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python import random def randomMAC(): mac = [ 0x52, 0x54, 0x00, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ] return ':'.join(map(lambda x: "%02x" %

  • 详解Linux系统中网卡MAC地址克隆方法

    怎么临时性地改变 MAC 地址? 你可以在 Linux 运行的时候改变 MAC 地址.需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线.当电脑重启时 MAC 地址又会变回原来的.下面介绍几种方法来改变你的 MAC 地址. 方法一:iproute2 $sudo ip link set dev eth0 down $sudo ip link set dev eth0 address 00:00:00:00:00:01 $sudo ip link set dev eth0 up 方法二:m

  • CentOS 6.6实现永久修改DNS地址的方法

    本文实例讲述了CentOS 6.6实现永久修改DNS地址的方法.分享给大家供大家参考,具体如下: 1.配置ip地址文件 /etc/sysconfig/network-scripts/ifcfg-eth0 添加一行: 复制代码 代码如下: DNS1=8.8.8.8    #手动添加一个dns地址: DNS配置文件/etc/resolv.conf 的地址会自动匹配手动添加的地址:重启网卡后不会清除: 2.手动添加dns地址 DNS配置文件 /etc/resolv.conf 复制代码 代码如下: na

随机推荐