发布网友 发布时间:2022-04-24 09:55
共4个回答
热心网友 时间:2022-06-18 18:35
操作系统的MAC地址和网卡的物理MAC地址是两个不同的概念。
根据你的意思,主要来说下后者-网卡的物理MAC地址!
MAC地址在网卡中是固定的,每张网卡的MAC地址都不一样,而我们通常看到的是从系统中读取的。网卡在制作过程中,厂家会在它的EPROM里面烧录上一组数字,这组数字,每张网卡都各不相同,这就是网卡的MAC(物理)地址。
要修改MAC地址,你可以通过硬件的方法实现。硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做 EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。利用网卡厂家提供的修改程序来烧录网卡的EEPROM,这样做虽然可行,但是风险很大、操作也复杂,即使你很有经验,也难免在操作中出现错误。
以下三种方法搜集自网络,希望对你有帮助!
1、买一块可以通过写eeprom物理的修改网卡地址,这种卡现在很多,并非买不到。如果环境中需要应用网络,那么修改MAC地址,使得两块卡的MAC地址不同,那么网络仍然可以工作。
2、找一块ne2k或者eepro100的网卡,相信任何一个电子市场都有这两种网卡买,然后在ddk的sample里面找到它的驱动程序源代码,找到驱动程序读物理端口或者pci映射内存得到物理地址的那一段代码,让函数总是返回你需要的物理地址。该方法也许是最容易实现的。98年的时候17曾经用该方法D版了一个10万美元的软件。如果需要应用网络环境,同样修改MAC地址。这两种卡的SOURCE都支持通过修改注册表修改MAC地址。请注意并非所有的卡驱动都支持。这个方法的原理可以通过阅读EEPRO100的SOURCE获得。eepro100在load的时候会去读注册表,然后如果没有读到,就使用物理地址,否则就会使用注册表中的地址。该功能似乎并没有强制实现。因此如果你不想修改注册表,仍然可以通过修改网卡driver的方法实现。该方法适用于所有支持ndis driver的平台。
3、该方法是我没有具体试过的,但是原理可行。所有的获得网卡地址的方法,不管是mac地址还是物理地址,归根结第都是通过向网卡driver发送ndisrequest实现的。但是请注意很不幸的是,w2k下ndisrequest是一个宏,这个宏其实直接调用miniporthandler->requesthandler函数要hoo miniport的这个函数似乎不容易找到合适的时机,同样也难以给出一种通用解决案。但是方法总是人想出来的,只要有米,就像剑鱼行动里面的一段台词“1024
bit RSA,that's impossible”“give you 10,000,000$...”“nothing is impossible”,你还是可以在很多地方hook。如果是win9x平台的话,简单的调用hook_device_service,就可以hook ndisrequest,我给的* source通过hook这个函数修改MTU,也同样可以修改网卡物理地址。如果是NT4.0,那么你还是可以HOOK NdisRequest,因为这是一个函数,不是宏,你可以直接修改ndis的pe输出函数入口实现。该方法是我没有试过的,听说瑞星就是用该方法实现他们的病毒防火墙。
这3种方法,我强烈的建议第2种方法,简单易行,而且可以批量操作,eepro100和ne2k的网卡更是任何一个地方都买得到,而且价格便宜
热心网友 时间:2022-06-18 18:36
实际网卡的MAC地址是烧录在网卡的芯片里面的。而你说的那个
系统网卡地址其实只是系统为了方便,因为上网的时候每一个数据包都会包含MAC地址,老是一次一次询问网卡很麻烦,所以系统在注册表里设计了一个记录MAC的值,系统默认就是访问这个值而不是实际访问网卡。
热心网友 时间:2022-06-18 18:36
实际地址就是MAC地址 是改不了的 有的软件说可以改 看上去是改了 其实没改 那个是固化在芯片里的
物理地址就是IP地址了
热心网友 时间:2022-06-18 18:37
你在系统里面改掉就行了,可以瞒过所有的机器