如何修改从本机发送出去的数据包的MAC地址

例如,本机的MAC地址为: ‎00-1C-47-CE-FE-02,在发送数据包的时候,如何将其修改为‎00-11-42-DF-EE-01
1.不能采用修改网卡的MAC地址的方式,因为修改后的地址是随机动态的,要像方法中的一个参数一样,随时修改,不会影响网络状态,不会闪断
2.修改发送数据包的MAC地址后,要能够接收到返回的数据包
小弟不大懂网络方面的知识,但无奈领导布置了任务,
不知能否实现,能实现,麻烦说明具体实现方法,如不能实现,也麻烦具体说明一下不能实现的理由。
如有兴趣的大神可以留个联系方式
还有不要通过注册表的形式修改MAC因为那样会断网,我得要求是电脑通信的过程中,截取数据包,并修改MAC地址。而且修改完了发送,还要能够接收回来,不影响两台机器的通信。
最新回答
凹凸有致丶

2024-09-26 00:08:48

本机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。