Python3修改电脑mac地址
说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除
作者: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地址相关推荐
- 【原创】python3 修改win10 mac地址
某公司需要做宽带0流量帐号的激活和'养号',变态政策,没有流量的帐号不结算安装费用和维护费用,一线维护员还是很辛苦,本人也是过来人,所以想到解决问题 流程:光猫改成桥接模式.导入光猫SN和宽带帐号和密 ...
- 教你修改电脑mac地址图解教程
mac地址又称为硬件地址或者物理地址,指的是局域网中的每一台计算机中固化在适配器的ROM中的地址,第二层数据链路层则负责 MAC地址,一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的地址. ...
- 自制蹭网工具(全套-修改电脑MAC地址、IP、获取局域网内别人的MAC和IP)
自制蹭网工具,功能如下: 1.局域网内获取别人MAC和IP的方法: 2.修改本机MAC地址的方法 3.改本机IP地址的方法 之前我一直在使用,先分享出来,下载地址如下: https://downloa ...
- linux 不小心删掉网卡配置文件的mac地址 如何恢复,linux/Centos下查看和修改网卡Mac地址(ifconfig命令)...
本文转载自http://www.169it.com/article/14360294838474691537.html eth0 Link encap:Ethernet HWaddr 00:e4:56 ...
- 计算机mac地址怎么修改密码,如何修改苹果电脑mac地址?
今天有用户问我:苹果电脑mac地址如何修改?因为网卡的mac地址跟我们的身份一样都是唯一的,但是有时候我们由于工作的需要就需要修改mac地址,但是却不知道怎么修改mac地址,下面小编和大家介绍苹果电脑 ...
- win7 电脑MAC地址修改
修改win7电脑MAC地址 之前电脑安装Teamviewer软件时,误选了商用版,导致几天后软件过期,死活用不了,网上说是Teamviewer开发团队只要首次使用就会在后台数据库中绑定电脑MAC,类似 ...
- windows10电脑修改物理mac地址两种方法
介绍两种物理mac地址更改的办法,如下: 一.修改有线网卡mac地址 1.进入到网络和internet中心,选择更改适配器选项 2.选择以太网连接,右击选择属性.点击配置,如下图 3.选择高级-> ...
- 苹果MACOS电脑MAC地址修改的方法
1.首先,打开"终端",运行这个命令生成一个新的MAC网卡地址: openssl rand -hex 6 | sed 's/(-)/\1:/g; s/.$//' 2.然后执行命令, ...
- mac电脑修改网卡mac地址
1.首先,打开"终端",运行这个命令生成一个新的MAC网卡地址: openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//' 2.然后执行 ...
最新文章
- 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...
- 医院的“数据中心”,究竟应该怎么建?
- Python用HTMLTestRunner生成html测试报告
- python调用exe程序 传入参数_关于使用c#调用python脚本文件,脚本文件需要传递参数...
- 辽宁省计算机专业最好的本科学校有哪些,辽宁省哪所大学最好-辽宁省排名前十的大学排名...
- Endnote生成的中英文混排参考文献中“等”与“et al”的处理
- linux 守护进程_网络工程师之linux守护进程
- android一格一格向上的进度条,如何 使用 ProgressBar 进度条
- 李健清华计算机专业,计算机DeepWeb数据库的分类研究李健
- 18年拼多多学霸批算法笔试
- SQL server 数据库查询语句的基本实现
- 零基础建站教程(二)宝塔面板的使用和CMS的安装
- 中小学试卷组卷系统php源码,在线组卷系统
- 联想拯救者r7000p安装Linux双系统(二)
- RK3399 Android7.1 充电芯片bq25723发生ACOV后引起系统黑屏死机
- iPhone连接Mac之后频繁闪烁的解决方法
- JavaScript(1)——基础语法部分(CSDN)
- XStar房屋最短路径
- 干货|4个全网最实用的OCR图片文字识别软件合集
- 你真的了解CSS包含块么?
热门文章
- 一个叫鲁迅的人,终于从教科书里滚了...
- 达人评测 r7 7730u和i7 12700h差距 锐龙r77730u和酷睿i712700h对比
- 如何使用docker容器中的redis
- GetLastError()函数返回的值及含义
- java暗黑破坏神,《暗黑破坏神2》1.10 雇用兵详细介绍
- Java 学习 类和对象练习 设计一个类Armor护甲 继承Item类并且额外提供一个属性ac: 护甲等级 int类型 实例化出两件护甲 名称 价格 护甲等级 布甲 300 15 锁子甲 500 40
- 《东周列国志》第一回 周宣王闻谣轻杀 杜大夫化厉鸣冤
- 黑苹果台式机机型选择的方法论——如何快速选择适合自己的机型(2021年12月1日更新)
- RSA中的中国剩余定理(CRT)和多素数(multi-prime)
- 二分查找python实现代码_二分查找——Python实现