快速修改网卡物理地址二则

 如果您是通过网卡的物理地址进行访问网络的,那么一定会碰到需要修改物理地址的情况。如更换新网卡,网卡的物理地址重复或者让笔记本电脑临时登陆一下网络等情况。更改网卡MAC地址的文章网络中有很多,但大都说的不够详细,下面笔者试着以Windows XP操作系统为例介绍两种网卡MAC地址的修改方法,希望对大家有所帮助。

  简单的修改方法

  读者可以在桌面上的“网上邻居”图标上单击右键,选择“属性”,在弹出的“网络连接”的对话框中,在“本地连接”图标上单击右键,选择“属性”,会弹出一个“本地连接属 [img]http://adsp.online.sh.cn/04052704.gif[/img] ([url]http://ads.online.sh.cn/event.ng/Type=click&FlightID=2663&AdID=3291&TargetID=418&Segments=1[/url],89,442,899&Targets=126,418,864&Values=31,43,51,60,72,91,100,110,150,193,210,355,397,441,609,625&RawValues=&Redirect=http://www.sia.sh.cn/) 性”的对话框,单击“配置”按钮,选择“高级”,选中左栏“属性”中“Network Address”(其实,并非所有的网卡,对物理地址的描述都用“Network Address”,如Intel的网卡便用“Locally Administered Address”来描述,只要在右栏框中可以找到“值”这个选项就可以了),然后选中右栏框“值”中的上面一个单选项(非“不存在”),此时便可在右边的框中输入想改的网卡MAC地址,形式如“000B6AF6F4F9”。点击“确定”按钮,修改就完成了。

  不过,有一些网卡没有这个选项,不要着急,可以先更新网卡的驱动程序试试,一般情况下,更新驱动之后都会出现这个选项。但是依然有特殊情况,无论怎么修改都没有这个选项,那怎么办呢?接着往下看,下面的方法可以说是万能的!

  注册表修改方法

  第1步,单击“开始”,选中“运行”,键入“regedit”调出注册表。

  第2步,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0000、0001、0002 等主键下,查找 DriverDesc ,内容为要修改的网卡的描述,如Intel的网卡会被描述成“Intel(R) PRO/100+ Management Adapter”,3Com的网卡会被描述成“3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)”等。

  注:上面提到的关于网卡描述的选项出现的位置,和网卡本身以及操作系统有关。不同的网卡可能出现在不同的主键下,而同一网卡用不同版本的操作系统(如OEM版,VOL或者VLK等)也会出现在不同的位置。而这一步的任务就是找到含有网卡描述的主键。

  第3步,选中在第二步找到的主键,在右栏框中添加一个字符串,命名为“Network Address”,其值设为要改的MAC地址,形式如“000B6AF6F4F9”。

  注:到这一步,修改网卡物理地址的任务可以说是完成了,有的网卡需要重启以下才能正常的工作,而有的只需一点点的时间“反应”一下而已。下面的几步是为了以后再修改物理地址方便用的,如果读者不再需要再次修改,到这里可以止步了。

  第4步,在“第一步选中的主键”/Ndi/params下添加一项名为“NetworkAddress”的主键,此时一般都会随着在右栏框中产生一个“(默认)”的字符串,将其值设置为最终想要修改的MAC地址,形式如“000B6AF6F4F9”。如果没有此字符串,读者也可自行添加此字符串。

  注:此步骤就是为网卡设置一个初始MAC地址。

  第5步,在“NetworkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NetworkAddress”主键的描述,其值可自己命名,如“Network Address”,这样在网卡的高级属性中就会出现“Network Address”选项,就是刚在注册表中加的新项“NetworkAddress”,以后只要在此修改MAC地址就可以了。

  第6步,在“NetworkAddress”的主键下继续添加名为“Optional”的字符串,其值设为“1”,则以后在网卡的高级属性中选择“Network Address”项时,右边会出现“不存在”选项。

  第7步,重新启动计算机(不是一定要重新启动,但要视不同网卡的要求而定,不过,重启没有任何差错。),按照第一种方法找到“高级”选项就可发现此时“属性”栏中已有“Network Address”的选项,现在读者可以用来直接修改MAC地址或恢复原来的地址。

二:局域网大盗技术分析5--修改网卡的物理地址

找了不少方法,也没有有效快捷的修改网卡物理地址的方法。因为网卡的物理地址实际上不可重复的,但是在window启动网络连接的时候,会读取注册表,如果在注册表设置了数据,就会将其写入网卡的eeprom中。所以最终我还是选择了修改注册表的方法来修改MAC地址。

这段程序也来自网络,应该是个中国人写的,虽然我在国外网站上搜到的。再次感谢原作者和google。

#Region "修改网卡的物理地址"
     Public Function ChangeMac(ByVal macs As String) As Boolean
         ApMAC = macs
         If IsOkay() = False Then
             Return False
             Exit Function
         End If
         Dim regKey As Microsoft.Win32.RegistryKey
         Dim Addr As String
         Addr = GetRoot(Form1.Lab_Wangka.Text)
         regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(Addr, True)
         regKey.SetValue("NetworkAddress", macs.Replace(":", ""))
         Return True
     End Function
     Private Function DoPadding(ByVal x As String) As String
         Dim Ret As String
         Dim z As Integer

         Ret = x
         If Len(x) < 4 Then
             For z = 1 To 4 - Len(x)
                 Ret = "0" & Ret
             Next
         End If

         Return Ret
     End Function
     Private Function GetRoot(ByVal Adapter As String) As String
         Dim regKey As Microsoft.Win32.RegistryKey
         Dim i As Integer = 0

         Do
             Dim Root As String = "SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/"
             Dim Last As String = DoPadding(i)
             regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(Root & Last, True)

             'Try
             Dim cAdapter As String = regKey.GetValue("DriverDesc", "False").ToString()
             If cAdapter = Adapter Then
                 Return Root & Last
             End If
             'Catch
             '     Exit Do
             'End Try
             i += 1
         Loop


     End Function

     Private Function IsOkay() As Boolean
         If ApMAC = "" Then
             MsgBox("You didn't enter a MAC Address", MsgBoxStyle.Critical)
             Return False
         End If

         Dim ed As String = ApMAC.Replace(":", "")

         If ed.Length <> 12 Then
             MsgBox("A MAC Address must have a length of 12", MsgBoxStyle.Critical)
             Return False
         End If

         Try
             If Form1.Lab_Wangka.Text = "" Then
                 MsgBox("No Network Adapter selected", MsgBoxStyle.Critical)
                 Return False
             End If
         Catch
             MsgBox("No Network Adapter selected", MsgBoxStyle.Critical)
             Return False
         End Try


         Dim noerror As Boolean = True
         Dim i As Integer
         For i = 0 To ed.Length - 1
             If IsHex(ed.Substring(i, 1)) = False Then
                 MsgBox("MAC Address in wrong format", MsgBoxStyle.Critical)
                 Return False
             End If
         Next

         Return True
     End Function

     Private Function IsHex(ByVal l As String) As Boolean
         Dim table As String = "0123456789ABCDEF"
         Dim i As Integer
         For i = 0 To table.Length - 1
             If l = table.Substring(i, 1) Then
                 Return True
             End If
         Next
         Return False
     End Function
#End Region

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改网卡的MAC物理地址,可以采用以下几种方法: 1. 在网卡属性中修改:如果你的网卡采用了RealTek公司的RTL8139芯片,可以在网卡属性中修改MAC地址。在Windows操作系统中,点击开始菜单,选择控制面板,打开系统设置,点击硬件,然后选择设备管理器。在设备管理器中展开网络适配器,右击要修改MAC地址的网卡,选择属性。在属性窗口中,点击高级选项卡,找到Network Address项目,在值的下方输入你要指定的MAC地址值(例如020202020202),注意要连续输入12个数字或字母(中间不要输入-)。重新启动电脑后,修改即可生效。这种方法适用于Windows 2003/XP/2000操作系统。\[1\] 2. 在注册表中修改:在注册表中修改MAC地址可以实现更灵活的修改。首先打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}路径下的子键,其中包含了所有的网络适配器。在这些子键中找到对应的网卡,创建一个名为NetworkAddress的字符串值,并将其值设置为你要指定的MAC地址。同时,在NetworkAddress的主键下继续添加名为ParamDesc的字符串值,其值为“MAC Address”。重新启动电脑后,修改即可生效。这种方法适用于Windows操作系统。\[2\] 3. 使用第三方工具:如果你使用的是Windows 98系统,可以使用“Mac扫描器”这个工具来修改注册表中的MAC地址。使用该工具修改后,需要重启电脑才能使修改生效。请注意,试用版的工具可能无法输入新的MAC地址,只能将MAC地址改为0C-0C-0C-0C-0C-01。\[3\] 请根据你的操作系统和具体需求选择适合的方法来修改网卡的MAC物理地址。 #### 引用[.reference_title] - *1* *3* [多种方法修改网卡MAC物理地址(转载)](https://blog.csdn.net/weixin_30699831/article/details/95428299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [网卡MAC地址相关信息大全-3 如何实现修改网卡物理地址的三种方法](https://blog.csdn.net/iwait/article/details/170736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值