linux c语言如何实现修改mac地址,不是使用系统命令。

linux c语言如何实现修改mac地址,不是使用系统命令。,第1张

用ioctl控制,通过SIOCGIFHWADDR获取MAC地址,SIOCSIFHWADDR设置MAC地址,不过在设

置MAC地址之前,要先把网卡down掉,设置好了以后,再UP起来,具体细节你可以查查相关资

料,收获的会更多

分类: 电子数码

问题描述:

哪位大虾知道的说说!!

解析:

首先要获取本机的MAC:MAC地址是固化在网卡上串行EEPROM中的物理地址,通常有48位长。以太网交换机根据某条信息包头中的MAC源地址和MAC目的地址实现包的交换和传递。

⑴在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。

⑵在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。

或者右键本地连接图标、选择状态然后点击支持选项卡,这里“详细信息”中包含有MAC和其它重要网络参数。

1、如果你的网卡驱动有直接提供克隆MAC地址功能,如RealTek公司出的RTL8139芯片,那恭喜你了,点击“开始→设置→控制面板”,双击“网络和拨号连接”,右键点击需要修改MAC地址的网卡图标,并选择“属性”。在“常规”选项卡中,点击“配置”按钮,点击“高级”选项卡。在“属性”区,你应该可以看到一个称作 “Neork Address”或“Locally Administered Address”的项目,点击它,在右侧“值”的下方,输入你要指定的MAC地址值。要连续输入12个数字或字母,不要在其间输入“-”。重新启动一次系统后设置就会生效了(Windows 98和Windows 2000/XP用户 *** 作略有区别,请参照系统说明 *** 作)

2、如果你的网卡驱动没有提供克隆MAC地址功能,那下面分别提供一些方法,希望能找到一个适合你的

WIN98下:

a.在"网上邻居"图标上点右键,选择"属性",出来一个"网络"对话框,在"配置"框中,双击你要修改的网卡,出来一个网卡属性对话框。在"高级"选项中,也是点击"属性"标识下的"Neork Address"项,在右边的两个单选项中选择上面一个,再在框中输入你要修改的网卡MAC地址,点"确定"后,系统会提示你重新启动。重新启动后,你的网卡地址就告修改成功!!

b.点击“开始→运行”,键入“winipcfg”,选择你要修改的网卡,并记录MAC地址值。点击“开始→运行”,输入“regedit”运行注册表编辑器(在修改注册表前,一定要先备份注册表),依据注册表树状结构,依次找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net”,你会看到类似“0000”、“0001”、“0002”等样子的子键。从“0000”子键开始点击,依次查找子键下的“DriverDesc” 键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。

当找到正确的网卡后,点击下拉式菜单“编辑→新建→字符串”,串的名称为“neorkaddress”,在新建的“neorkaddress”串名称上双击鼠标,就可以输入数值了。输入你指定的新的MAC地址值。新的MAC地址应该是一个12位的数字或字母,其间没有“-”,类似“00C095ECB761”的样子。

有两种方法激活新的MAC地址:

如果你使用的是普通内置网卡,就必须重新启动计算机来使修改生效。

如果你使用的是PCMCIA卡,你可以按照下面的步骤 *** 作而不必重新启动 *** 作系统:运行winipcfg,选择并释放DHCP设置,关闭winipcfg。打开控制面板或系统托盘“PC Card (PCMCIA)”,停止并d出PCMCIA网卡。重新插入PCMCIA网卡,打开winipcfg,选择并刷新DHCP设置,运行winipcfg,确定修改的MAC地址已生效

WIN2000下:

a.在桌面上网上邻居图标上点右键,选"属性",在出来的"网络和拨号连接"窗口中一般有两个图标,一个是"新建连接"图标,一个是"我的连接"图标。如果你的机器上有两个网卡的话,那就有三个图标了。如果你只有一个网卡,那就在"我的连接"图标上点右键,选"属性",会出来一个"我的连接 属性"的窗口。在图口上部有一个"连接时使用:"的标识,下面就是你机器上的网卡型号了。在下面有一个"配置"按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项"高级"页,在"属性"标识下有两项:一个是"Link Speed/Duplex Mode",这是设置网卡工作速率的,我们需要改的是下面一个"Neork Address",点击该项,在对话框右边的"值"标识下有两个单选项,默认得是"不存在" ,我们只要选中上面一个单选项,然后在右边的框中输入你想改的网卡MAC地址,点"确定",等待一会儿,网卡地址就改好了,你甚至不用停用网卡!

你也可以在"设置管理器"中,打开网卡的属性页来修改,效果一样。

b.1.在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318\0000、0001、0002”等主键下, 因为你有可能安装了不止一块网卡,所以在这个主键下馍能会有多个类似于“0000、0001”的主键,这时候你可以查找DriverDesc内容为你要修改的网卡的描述相吻合的主键,如“0000”。



2.在上面提到的主键下,添一个字符串,名字为“NeorkAddress”,把它的值设为你要的MAC地址,要连续写如“001010101010”。



3.然后到主键下“NDI\params”中添加一项“NeorkAddress”的主键值,在该主键下添加名为“default”的字符串,值写要设的MAC地址,要连续写,如“001010101010”。



【注】实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的MAC地址还是取决于在第2点中提到的“NeorkAddress”参数,而且一旦设置后,以后高级属性中值就是“NeorkAddress”给出的值而非“default”给出的了。



4.在“NeorkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NeorkAddress”主键的描述,其值可为“MAC Address”(也可以随意设置,这只是个描述,无关紧要,这个值将会在你以后直接修改MAC地址的时候作为描述出现),这样重新启动一次以后打开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在MAC Address (就是你在前面设置的ParamDesc,如图(^***********a^)1)的选项,这就是你在第二步里在注册表中加的新项“NeorkAddress”,以后只要在此修改MAC地址就可以了。



5.关闭注册表编辑器,重新启动,你的网卡地址已经改好了。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项。用于直接修改MAC地址,而且不需要重新启动就可以实现MAC的随时更改。

WinXP下

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

另外有几个可以修改MAC的软件都可以在XP/W2K下运行,大家可以去网上搜下,所以这里就不详细介绍了

linux下

需要用 #ifconfig eth0 down 先把网卡禁用 ,再用ifconfig eth0 hw ether ***********ab ,这样就可以改成功了

要想永久改,就在/etc/rc.d/rc.local里加上这三句(也可在/etc/init.d/neork里加下面三行)

ifconfig eth0 down

ifconfig eth0 hw ether ***********ab

ifconfig eth0 up

如果你想把网卡的MAC地址恢复原样,只要再次把"Neork Address"项右边的单选项选择为下面一个"没有显示"再重新启动即可。在WIN2000下面是选择"不存在",当然也不用重新启动了。

1、进入mac禁止下载app使用“软件更新”偏好设置,关闭自动软件下载。

2、mac禁止下载app可以使用配置描述文件。

3、mac禁止下载app可以使用终端命令,系统管理员可以在终端中输入这个命令,阻止自动下载。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7834697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存