社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 1486阅读
  • 1回复

[分享]《绑定和修改网卡的MAC地址》

楼层直达
级别: FLY元勋
发帖
27274
飞翔币
1294
威望
2640
飞扬币
86670
信誉值
27

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

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

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

3、使用软件
  ①如果是Windows2000/XP的用户,则可以使用免费MAC地址修改软件SMAC汉化版。运行SMAC后,窗口中的列表框列出计算机上正处于工作状态的网卡。选定要修改的网卡后,在列表框下方的六个输入框中输入新的MAC地址后,点击右侧的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。



  ②修改MAC地址的工具有很多,但大多数都只适用于Windows 2000/XP,笔者在这里推荐用“超级兔子魔法设置”,因为不但简单易用,而且在Windows 9x系统中使用同样有效。
   
  ③假如用户使用的是RealTek公司的RTL8139A/B/C/D系列芯片的网卡,有一种更简单的方法修改MAC地址。RealTek公司设计的PG8139软件可以直接修改RTL8139系列网卡的MAC地址,甚至可以让每次启动后网卡的MAC地址都不相同。


        
  保存后再进入MS-DOS方式(注意,要在纯DOS模式下),在DOS提示符后输入“pg8139 /pci8139c.cfg”后再按回车键,此时系统如果提示“Programming EEPROM issuccessful”则说明更改成功。PG8139程序每成功运行一次,在相应的8139c.cfg文件中,系统会自动将“NodeID”的值加1,也就是说,第一次运行时给当前工作站网卡分配的MAC地址为“00 E0 4C 00 00 01”,第二次运行时,系统会自动分配为“00 E0 4C00 00 02”,第三次运行时,会自动为“00 E0 4C 00 0003”……,依此类推,就可以批量地修改网卡的MAC地址,不再需要重复修改8139c.cfg文件了。
   
  如果用户的网卡是RTL8139其他版本的芯片,只要找到相应的.cfg文件修改就行了。
  
附:如何绑定MAC
  首先要查看自己的IP地址和网卡的MAC地址。对于Windows98/Me,运行“winipcfg”,在对话框看的IP地址就是,而“适配器地址”就是网卡的MAC地址。在Windows2000/XP系统下,要在命令提示符下输入“ipconfig /all”,显示列表中的“PhysicalAddress”就是MAC地址,“IP Address”就是IP地址;要将二者绑定,输入“arp -s IP地址 MAC地址”,如“arp-s 192.168.0.28 44 E0 4C 00 00 21”即可。
  如果要解除网卡的IP与MAC地址的绑定,输入: "arp -d 网卡IP",如“arp -s 192.168.0.28”即可
 
人的一生真辛苦
级别: 光盘见习
发帖
8
飞翔币
335
威望
13
飞扬币
1341
信誉值
0
只看该作者 1 发表于: 2007-12-22
一切需要机遇。