修改以太网卡mac地址

2024-06-18 01:12
文章标签 mac 地址 修改 以太网卡

本文主要是介绍修改以太网卡mac地址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原生以太网卡与PCIe以太网卡

以Intel 原生以太网卡与PCIe以太网卡为例:

Intel原生以太网卡和PCIe以太网卡在系统中实现网络连接时,涉及到与系统总线(如PCIe总线)的连接方式和性能差异。

Intel 原生以太网卡

定义:所谓原生以太网卡通常指的是集成在主板上的网卡,这些网卡直接与主板芯片组相连,而不是通过额外的插卡形式存在。

连接方式:

集成到主板:原生以太网卡通常直接集成在主板上,连接到主板的南桥芯片或是直接连接到CPU的I/O接口。

专用接口:这种集成方式可以利用主板上的专用接口和线路,通常能够提供高效的数据传输路径和较低的延迟。

性能:

低延迟:由于集成在主板上,数据传输路径较短,因此原生以太网卡通常具有较低的延迟。

系统资源利用:原生网卡通常与主板设计相匹配,能够更高效地利用系统资源,如内存和CPU。

PCIe 以太网卡

定义:PCIe(Peripheral Component Interconnect Express)以太网卡是通过PCIe插槽连接到主板上的独立网卡。

连接方式:

插入PCIe插槽:这种网卡通过插入主板上的PCIe插槽来连接系统总线。PCIe插槽有不同的带宽(x1、x4、x8、x16),通常以太网卡使用x1或x4带宽。

标准接口:PCIe提供高带宽、低延迟的数据传输路径,适合高速网络需求。

性能:

可扩展性:PCIe插槽提供灵活的扩展能力,可以根据需要更换或增加网络接口。

高带宽:PCIe接口能够提供高带宽,特别是对于万兆以太网(10GbE)或更高速率的网卡,PCIe接口能够充分利用其带宽优势。

延迟:尽管PCIe网卡具有高带宽优势,但由于数据需要通过PCIe总线传输,延迟可能略高于集成网卡。然而,这种差异通常在几纳秒级别,对大多数应用来说影响不大。

总线性能与带宽

PCIe带宽:PCIe总线带宽根据插槽类型而不同。PCIe 3.0 x1插槽的理论带宽为1GB/s,x4插槽为4GB/s,x16插槽为16GB/s。对于大多数以太网卡来说,即使是PCIe x1插槽的带宽也足够应对千兆以太网(1Gbps)或10GbE的需求。

总线利用率:原生以太网卡由于集成在主板上,其设计更加优化,能够更高效地利用系统总线。而PCIe网卡的性能更多依赖于PCIe插槽的带宽和主板的PCIe通道设计。

永久性修改以太网卡mac地址

明确mac地址存放位置

以太网卡的 MAC 地址通常存储在网卡上的 EEPROM(Electrically Erasable Programmable Read-Only Memory)芯片中。这种设计在很多网卡中都很常见,原因如下:

存储在 EEPROM 的原因

持久性:EEPROM 是一种非易失性存储器,这意味着在设备断电后数据不会丢失。因此,存储在 EEPROM 中的 MAC 地址在系统重新启动或设备重新加电后仍然有效。

可编程性:EEPROM 可以通过特定的工具或命令进行修改(如 ethtool 命令),这使得在某些情况下可以重新配置 MAC 地址。但通常情况下,MAC 地址在生产过程中就已经被写入 EEPROM,并且在正常使用中不会被改变。

独立性:将 MAC 地址存储在 EEPROM 中,使其与网卡的其他功能和配置独立开来。即使系统硬件或软件发生变化,网卡的 MAC 地址仍然保持不变。

存储位置

独立网卡:对于独立的 PCIe 网卡,MAC 地址通常存储在网卡上的一个小型 EEPROM 芯片中。这些芯片通常是一个小型的8针或16针器件,焊接在网卡的电路板上。

集成网卡:对于集成在主板上的以太网控制器,MAC 地址也会存储在一个专用的 EEPROM 或直接在主板芯片组的非易失性存储区中。

局限性

并非所有网卡和驱动都支持修改mac地址

修改方法

  1. 获取PCIe 配置空间的网卡VID和DID, 这两个组合起来就是网卡magic
  2. lspci 查看网卡对应总线号
  3. lspci -s <总线号> -nn 获取magic

  

VID:100f

DID:8086

Magic:0x100f8086

  • 通过ethtool 获取magic

  • 注意事项:offset 0不能写入奇数,offset x范围不能超过5, 避免损坏固件。

ethtool -E ens33 magic 0x100f8086 offset 0 value 0xec

ethtool -E ens33 magic 0x100f8086 offset 1 value 0xe0

ethtool -E ens33 magic 0x100f8086 offset 2 value 0x20

ethtool -E ens33 magic 0x100f8086 offset 3 value 0x00

ethtool -E ens33 magic 0x100f8086 offset 4 value 0x10

ethtool -E ens33 magic 0x100f8086 offset 5 value 0xac

这篇关于修改以太网卡mac地址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070892

相关文章

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1