首先我们要声明的是我们认识的“MAC地址的更改”不是更改网卡中的MAC,而是更改ARP缓存表中的MAC地址。
上面我们看到arp -s 10.10.0.8 00-00-00-00-00-00 把本机MAC地址更改为00-00-00-00-00-00
ARP缓存表中的MAC地址是这个,但是ipconfig /all中的physical address物理地址还是原来的,这个体ipconfig /all查看的是网卡中的MAC地址,而arp /a是查看arp缓存表中的mac地址,同样,通过本地连接更改MAC地址还只是更改ARP缓存表中的MAC地址
我们进行联网、上网时,数据包认的只是ARP 缓存表中的MAC地址,而不是到网卡中去寻找MAC,即ARP地址解析协议递交给路由的MAC地址也只是ARP缓存表中的MAC地址,可以说这个MAC地址不是真正的,而是虚拟的。
MAC地址是唯一的,但是网卡毕竟是个硬件,需要软件来支撑,即操作系统来识别.而将操作系统识别出来的MAC地址是可以更改的,它只不过是一个字符串。
MAC地址后如果是单机的话就没什么问题.若是联网的话,就会出现问题了. 同一个局域网内若是基线器连接的话,IP和MAC都可以改为一样的,这样可以共用一个IP帐号上网(网络设置要合理),但是局域网内部这两台主机之间是不能再相互访问了. 若是在不同的子网中出现了相同的MAC地址,只要他们的数据包不经过同一个数据链路层(需要计算机网络专业知识才懂)也不会出问题。
修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。
Windows 9x中修改:打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetService\Class\Net\下的0000,0001,0002。
Windows 2000/XP中的修改:同样打开注册表编辑器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ControlClass\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:000102030405
当成在本地连接属性中修改与在DOS中修改,注册表也就会相应的自动改变,与注册表修改是等效的。