说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除

作者:zhu6201976

博客:https://blog.csdn.net/zhu6201976

一、查看电脑mac

方式1: ipconfig /all 查看 本地连接 物理地址,注意:是 本地连接 的物理地址。

操作如下:

方式2:依次进入 控制面板--网络和 Internet--网络连接,注意:是 本地连接 的物理地址。

右键 本地连接 --属性--配置--高级--本地管理地址,输入要修改的mac地址,确定。

二、手动修改电脑mac

在上述 方法2 的基础上,手动修改成新mac地址(3CEB9085031E),确认保存即可,查看检查确认。

验证是否生效:

三、Python修改电脑 本地连接 mac地址

运行效果:

admin
==================================================
Your MAC address:
 
连接名:     本地连接
网络适配器: Intel(R) 82579LM Gigabit Network Connection
物理地址:   10-78-D2-E8-87-A2
传输名称:   媒体已断开连接

连接名:     无线网络连接
网络适配器: Intel(R) Centrino(R) Advanced-N 6205
物理地址:   A0-88-B4-8B-26-B4
传输名称:   \Device\Tcpip_{2CE9E199-0E86-42A7-A0B1-7211430F871E}

连接名:     VMware Network Adapter VMnet1
网络适配器: VMware Virtual Ethernet Adapter for VMnet1
物理地址:   00-50-56-C0-00-01
传输名称:   \Device\Tcpip_{7DDEEA19-F0D1-4819-81DA-86C56AD9A01D}

连接名:     VMware Network Adapter VMnet8
网络适配器: VMware Virtual Ethernet Adapter for VMnet8
物理地址:   00-50-56-C0-00-08
传输名称:   \Device\Tcpip_{4252F765-9A8D-4D47-A202-125CA25BFFAD}

连接名:     SSTAP 1
网络适配器: TAP-Windows Adapter V9
物理地址:   00-FF-31-F8-20-4F
传输名称:   媒体已断开连接

本地连接 Intel(R) 82579LM Gigabit Network Connection

==================================================
Your MAC address:
 
连接名:     本地连接
网络适配器: Intel(R) 82579LM Gigabit Network Connection
物理地址:   3C-EB-90-85-03-1E
传输名称:   已断开

连接名:     无线网络连接
网络适配器: Intel(R) Centrino(R) Advanced-N 6205
物理地址:   A0-88-B4-8B-26-B4
传输名称:   \Device\Tcpip_{2CE9E199-0E86-42A7-A0B1-7211430F871E}

连接名:     VMware Network Adapter VMnet1
网络适配器: VMware Virtual Ethernet Adapter for VMnet1
物理地址:   00-50-56-C0-00-01
传输名称:   \Device\Tcpip_{7DDEEA19-F0D1-4819-81DA-86C56AD9A01D}

连接名:     VMware Network Adapter VMnet8
网络适配器: VMware Virtual Ethernet Adapter for VMnet8
物理地址:   00-50-56-C0-00-08
传输名称:   \Device\Tcpip_{4252F765-9A8D-4D47-A202-125CA25BFFAD}

连接名:     SSTAP 1
网络适配器: TAP-Windows Adapter V9
物理地址:   00-FF-31-F8-20-4F
传输名称:   媒体已断开连接

完整代码:

# @Time : 2021/6/24 22:30
# @Author : Tesla
# @File : 13.修改本地连接mac地址.py
# @Software: PyCharm
# Csdn : https://blog.csdn.net/zhu6201976import ctypes
import platform
import re
import subprocess
import sys
import winregclass SetMac(object):"""修改 本地连接 mac地址"""def __init__(self):# regex to MAC address like 00-00-00-00-00-00 or 00:00:00:00:00:00 or# 000000000000self.MAC_ADDRESS_RE = re.compile(r"""([0-9A-F]{1,2})[:-]?([0-9A-F]{1,2})[:-]?([0-9A-F]{1,2})[:-]?([0-9A-F]{1,2})[:-]?([0-9A-F]{1,2})[:-]?([0-9A-F]{1,2})""", re.I | re.VERBOSE)  # re.I: case-insensitive matching. re.VERBOSE: just look nicer.self.WIN_REGISTRY_PATH = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"def is_admin(self):"""is user an admin?:return:"""if ctypes.windll.shell32.IsUserAnAdmin() == 0:print('Sorry! You should run this with administrative privileges if you want to change your MAC address.')sys.exit()else:print('admin')def get_macinfos(self):"""查看所有mac信息:return:"""print('=' * 50)mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)mac_info = mac_info.decode('gbk')print('Your MAC address:\n', mac_info)def get_target_device(self):"""返回 本地连接 网络适配器:return:"""mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)mac_info = mac_info.decode('gbk')search = re.search(r'(本地连接)\s+网络适配器: (.+)\s+物理地址:', mac_info)target_name, target_device = (search.group(1), search.group(2).strip()) if search else ('', '')if not all([target_name, target_device]):print('Cannot find the target device')sys.exit()print(target_name, target_device)return target_devicedef set_mac_address(self, target_device, new_mac):"""设置新mac地址:param target_device: 本地连接 网络适配器:param new_mac: 新mac地址:return:"""if not self.MAC_ADDRESS_RE.match(new_mac):print('Please input a correct MAC address')return# Locate adapter's registry and update network address (mac)reg_hdl = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)key = winreg.OpenKey(reg_hdl, self.WIN_REGISTRY_PATH)info = winreg.QueryInfoKey(key)# Find adapter key based on sub keysadapter_key = Noneadapter_path = Nonetarget_index = -1for index in range(info[0]):subkey = winreg.EnumKey(key, index)path = self.WIN_REGISTRY_PATH + "\\" + subkeyif subkey == 'Properties':break# Check for adapter match for appropriate interfacenew_key = winreg.OpenKey(reg_hdl, path)try:adapterDesc = winreg.QueryValueEx(new_key, "DriverDesc")if adapterDesc[0] == target_device:adapter_path = pathtarget_index = indexbreakelse:winreg.CloseKey(new_key)except (WindowsError) as err:if err.errno == 2:  # register value not found, ok to ignorepasselse:raise errif adapter_path is None:print('Device not found.')winreg.CloseKey(key)winreg.CloseKey(reg_hdl)return# Registry path found update mac addradapter_key = winreg.OpenKey(reg_hdl, adapter_path, 0, winreg.KEY_WRITE)winreg.SetValueEx(adapter_key, "NetworkAddress", 0, winreg.REG_SZ, new_mac)winreg.CloseKey(adapter_key)winreg.CloseKey(key)winreg.CloseKey(reg_hdl)# Adapter must be restarted in order for change to take affect# print 'Now you should restart your netsh'self.restart_adapter(target_index, target_device)def restart_adapter(self, target_index, target_device):"""Disables and then re-enables device interface"""if platform.release() == 'XP':# description, adapter_name, address, current_address = find_interface(device)cmd = "devcon hwids =net"try:result = subprocess.check_output(cmd, stderr=subprocess.STDOUT)except FileNotFoundError:raisequery = '(' + target_device + '\r\n\s*.*:\r\n\s*)PCI\\\\(([A-Z]|[0-9]|_|&)*)'query = query.encode('ascii')match = re.search(query, result)cmd = 'devcon restart "PCI\\' + str(match.group(2).decode('ascii')) + '"'subprocess.check_output(cmd, stderr=subprocess.STDOUT)else:cmd = "wmic path win32_networkadapter where index=" + str(target_index) + " call disable"subprocess.check_output(cmd)cmd = "wmic path win32_networkadapter where index=" + str(target_index) + " call enable"subprocess.check_output(cmd)def run(self):self.is_admin()self.get_macinfos()target_device = self.get_target_device()self.set_mac_address(target_device, '3CEB9085031E')self.get_macinfos()if __name__ == '__main__':set_mac = SetMac()set_mac.run()

Python3修改电脑mac地址相关推荐

  1. 【原创】python3 修改win10 mac地址

    某公司需要做宽带0流量帐号的激活和'养号',变态政策,没有流量的帐号不结算安装费用和维护费用,一线维护员还是很辛苦,本人也是过来人,所以想到解决问题 流程:光猫改成桥接模式.导入光猫SN和宽带帐号和密 ...

  2. 教你修改电脑mac地址图解教程

    mac地址又称为硬件地址或者物理地址,指的是局域网中的每一台计算机中固化在适配器的ROM中的地址,第二层数据链路层则负责 MAC地址,一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的地址. ...

  3. 自制蹭网工具(全套-修改电脑MAC地址、IP、获取局域网内别人的MAC和IP)

    自制蹭网工具,功能如下: 1.局域网内获取别人MAC和IP的方法: 2.修改本机MAC地址的方法 3.改本机IP地址的方法 之前我一直在使用,先分享出来,下载地址如下: https://downloa ...

  4. linux 不小心删掉网卡配置文件的mac地址 如何恢复,linux/Centos下查看和修改网卡Mac地址(ifconfig命令)...

    本文转载自http://www.169it.com/article/14360294838474691537.html eth0 Link encap:Ethernet HWaddr 00:e4:56 ...

  5. 计算机mac地址怎么修改密码,如何修改苹果电脑mac地址?

    今天有用户问我:苹果电脑mac地址如何修改?因为网卡的mac地址跟我们的身份一样都是唯一的,但是有时候我们由于工作的需要就需要修改mac地址,但是却不知道怎么修改mac地址,下面小编和大家介绍苹果电脑 ...

  6. win7 电脑MAC地址修改

    修改win7电脑MAC地址 之前电脑安装Teamviewer软件时,误选了商用版,导致几天后软件过期,死活用不了,网上说是Teamviewer开发团队只要首次使用就会在后台数据库中绑定电脑MAC,类似 ...

  7. windows10电脑修改物理mac地址两种方法

    介绍两种物理mac地址更改的办法,如下: 一.修改有线网卡mac地址 1.进入到网络和internet中心,选择更改适配器选项 2.选择以太网连接,右击选择属性.点击配置,如下图 3.选择高级-> ...

  8. 苹果MACOS电脑MAC地址修改的方法

    1.首先,打开"终端",运行这个命令生成一个新的MAC网卡地址: openssl rand -hex 6 | sed 's/(-)/\1:/g; s/.$//' 2.然后执行命令, ...

  9. mac电脑修改网卡mac地址

    1.首先,打开"终端",运行这个命令生成一个新的MAC网卡地址: openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//' 2.然后执行 ...

最新文章

  1. 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...
  2. 医院的“数据中心”,究竟应该怎么建?
  3. Python用HTMLTestRunner生成html测试报告
  4. python调用exe程序 传入参数_关于使用c#调用python脚本文件,脚本文件需要传递参数...
  5. 辽宁省计算机专业最好的本科学校有哪些,辽宁省哪所大学最好-辽宁省排名前十的大学排名...
  6. Endnote生成的中英文混排参考文献中“等”与“et al”的处理
  7. linux 守护进程_网络工程师之linux守护进程
  8. android一格一格向上的进度条,如何 使用 ProgressBar 进度条
  9. 李健清华计算机专业,计算机DeepWeb数据库的分类研究李健
  10. 18年拼多多学霸批算法笔试
  11. SQL server 数据库查询语句的基本实现
  12. 零基础建站教程(二)宝塔面板的使用和CMS的安装
  13. 中小学试卷组卷系统php源码,在线组卷系统
  14. 联想拯救者r7000p安装Linux双系统(二)
  15. RK3399 Android7.1 充电芯片bq25723发生ACOV后引起系统黑屏死机
  16. iPhone连接Mac之后频繁闪烁的解决方法
  17. JavaScript(1)——基础语法部分(CSDN)
  18. XStar房屋最短路径
  19. 干货|4个全网最实用的OCR图片文字识别软件合集
  20. 你真的了解CSS包含块么?

热门文章

  1. 一个叫鲁迅的人,终于从教科书里滚了...
  2. 达人评测 r7 7730u和i7 12700h差距 锐龙r77730u和酷睿i712700h对比
  3. 如何使用docker容器中的redis
  4. GetLastError()函数返回的值及含义
  5. java暗黑破坏神,《暗黑破坏神2》1.10 雇用兵详细介绍
  6. Java 学习 类和对象练习 设计一个类Armor护甲 继承Item类并且额外提供一个属性ac: 护甲等级 int类型 实例化出两件护甲 名称 价格 护甲等级 布甲 300 15 锁子甲 500 40
  7. 《东周列国志》第一回 周宣王闻谣轻杀 杜大夫化厉鸣冤
  8. 黑苹果台式机机型选择的方法论——如何快速选择适合自己的机型(2021年12月1日更新)
  9. RSA中的中国剩余定理(CRT)和多素数(multi-prime)
  10. 二分查找python实现代码_二分查找——Python实现