首页系统综合问题如何在 Linux 中更改 MAC 地址

如何在 Linux 中更改 MAC 地址

时间2023-03-14 09:55:53发布分享专员分类系统综合问题浏览153

今天小编给各位分享mac地址修改的知识,文中也会对其通过如何在 Linux 中更改 MAC 地址和Linux中如何更改MAC地址等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • 如何在 Linux 中更改 MAC 地址
  • Linux中如何更改MAC地址
  • linux 修改mac地址
  • linux修改mac地址命令
  • 一、如何在 Linux 中更改 MAC 地址

    在向你展示如何在 Linux 中更改 Mac 地址之前,让我们首先讨论为什么要更改它。-- Dimitrios Savvopoulos(作者)

    在向你展示如何在 Linux 中更改 MAC 地址之前,让我们首先讨论为什么要更改它。

    可能有几个原因。也许你不希望在公共网络上公开你的实际 MAC 地址 (也称为物理地址)?还有可能是网络管理员可能已在路由器或防火墙中阻止了特定的 MAC 地址。

    一个实用的“好处”是某些公共网络(例如机场 WiFi)允许在有限的时间内免费上网。如果你还想继续使用,那么伪造 Mac 地址可能会欺骗网络,让它认为是一台新设备。这也是一个有名的原因。

    我将展示更改 MAC 地址(也称为欺骗/伪造 MAC 地址)的步骤。

    在 Linux 中更改 MAC 地址

    让我们一步步来:

    查找你的 MAC 地址和网络接口

    让我们找出一些 关于 Linux 中网卡的细节 。使用此命令获取网络接口详细信息:

    ip link show

    在输出中,你将看到一些详细信息以及 MAC 地址:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000link/ether 94:c6:f8:a7:d7:30 brd ff:ff:ff:ff:ff:ff3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000link/ether 38:42:f8:8b:a7:68 brd ff:ff:ff:ff:ff:ff4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group defaultlink/ether 42:02:07:8f:a7:38 brd ff:ff:ff:ff:ff:ff

    如你所见,在这里,我的网络接口称为 enp0s31f6,MAC 地址为 38:42:f8:8b:a7:68。

    你可能需要在安全的地方记录下来,以便稍后还原到该原始 MAC 地址。

    现在你可以继续更改 MAC 地址。

    注意!

    如果在当前使用的网络接口上执行此操作,那么可能会中断你的网络连接。因此,请在其他网卡上尝试使用此方法,或者准备重启网络。

    方法 1:使用 Macchanger 更改 MAC 地址

    Macchanger 是查看、修改和操作网卡 MAC 地址的简单程序。它几乎在所有 GNU/Linux 操作系统中都可用,你可以使用发行版的包安装程序进行安装。

    在 Arch Linux 或 Manjaro 上:

    sudo pacman -S macchanger

    在 Fedora、CentOS 和 RHEL 上:

    sudo dnf install macchanger

    在 Debian、Ubuntu、Linux Mint、Kali Linux 上:

    sudo apt install macchanger

    重要!系统会要求你选择是否应将 macchanger 设置为在每次启动或关闭网络设备时自动运行。每当你接到网线或重启 WiFi 时,它都会提供一个新的 MAC 地址。

    Not a good idea to run it automatically

    我建议不要自动运行它,除非你确实需要每次更改 MAC 地址。因此,选择“No”(按 Tab 键),然后按回车键继续。

    如何使用 Macchanger 更改 MAC 地址

    你还记得网络接口名称吗?你在前面的步骤中获得了它。

    现在,要将随机 MAC 地址分配给该网卡,请使用:

    sudo macchanger -r enp0s31f6

    更改 MAC 后,使用以下命令进行验证:

    ip addr

    现在你将看到已经伪造 MAC。

    要将 MAC 地址更改为特定值,请使用以下命令指定自定义 MAC 地址:

    macchanger --mac=XX:XX:XX:XX:XX:XX

    其中 XX:XX:XX:XX:XX:XX 是你要更改的新 MAC。

    最后,要将 MAC 地址恢复为其原始硬件值,请运行以下命令:

    macchanger -p enp0s31f6

    但是,你不必如此。重启系统后,更改将自动丢失,并且实际的 MAC 地址将再次恢复。

    你可以随时查看手册页以获取更多详细信息。

    方法 2:使用 iproute2 更改 Mac 地址(中级知识)

    我建议你使用 macchanger,但如果你不想使用它,那么可以使用另一种方法在 Linux 中更改 MAC 地址。

    首先,使用以下命令关闭网卡:

    sudo ip link set dev enp0s31f6 down

    接下来,使用以下命令设置新的 MAC:

    sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX

    最后,使用以下命令重新打开网络:

    sudo ip link set dev enp0s31f6 up

    现在,验证新的 MAC 地址:

    ip link show enp0s31f6

    就是这些了。你已经成功地在 Linux 中修改了 MAC 地址。敬请期待 FOSS 更多有关 Linux 教程和技巧的文章。

    via: https://itsfoss.com/change-mac-address-linux/

    作者: Dimitrios Savvopoulos 选题: lujun9972 译者: geekpi 校对: wxy

    本文由 LCTT 原创编译, Linux中国 荣誉推出

    点击“了解更多”可访问文内链接

    一、Linux中如何更改MAC地址

    我们为什么要更改MAC地址,也许你不希望你的实际MAC地址(物理地址)暴露在公共网络上。另一种情况是,网络管理员可能在网络设备中阻止了一个特定的MAC地址。

    环境

    Centos 7.7 Minimal

    GNU MAC changer 1.7.0

    查询网卡和MAC地址

    [root@localhost ~]# ip link show1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

        link/ether 00:0c:29:48:4c:9a brd ff:ff:ff:ff:ff:ff

    网卡名称是ens33,MAC地址是00:0c:29:48:4c:9a。请记下自己的MAC地址,稍后做完实验恢复到原来的MAC地址。

    使用macchanger工具更改MAC地址

    Macchanger可以查看、修改MAC地址。

    安装macchanger

    [root@localhost ~]# git clone

    [root@localhost ~]# yum -y install autoconf automake gcc gcc-c++ texinfo

    如何使用macchanger

    使用下面的 命令 生成一个随机的mac地址为ens33网卡:

    [root@localhost ~]# macchanger -r ens33

    Current MAC:  00:0c:29:48:4c:9a (VMware, Inc.)

    Permanent MAC: 00:0c:29:48:4c:9a (VMware, Inc.)

    New MAC:      a2:97:a2:55:53:be (unknown)

    查看一下ens33的MAC地址是否改变了

    [root@localhost ~]# ip link show ens332: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

        link/ether a2:97:a2:55:53:be brd ff:ff:ff:ff:ff:ff

    可以更改成一个自己指定的mac地址,使用下面的 命令 更改:

    [root@localhost ~]# macchanger --mac=XX:XX:XX:XX:XX:XX

    如果想要恢复到真实的MAC地址,请使用下面的命令:

    [root@localhost ~]# macchanger -p ens33

    Current MAC:  a2:97:a2:55:53:be (unknown)

    Permanent MAC: 00:0c:29:48:4c:9a (VMware, Inc.)

    New MAC:      00:0c:29:48:4c:9a (VMware, Inc.)

    总结

    我们为什么要更改MAC地址,也许你不希望你的实际MAC地址(物理地址)暴露在公共网络上。另一种情况是,网络管理员可能在网络设备中阻止了一个特定的MAC地址。

    二、linux 修改mac地址

    linux 修改mac地址,为您提供linux 修改mac地址图文信息,1、查看网卡的MAC地址,ifconfig,可以看到HWaddr即是网卡物理地址;2、修改前,将ifdown 或者ifconfig 网卡 down,关闭网卡;3、ifconfig 网卡 选项 网卡类型 值;4、打开网卡,ifup 网卡,或者ifconfig 网卡 up即可。

    三、linux修改mac地址命令

    1.临时性的修改:

    ①依次输入以下命令:

    /sbin/ifconfig eth0 down/sbin/ifconfig eth0 hw ether 00:0C:29:36:97:20/sbin/ifconfig eth0 upservice network restart

    2.永久性的修改:

    方法①:

    并把类似于1中的②脚本保存在/etc/rc.local中:这一步是起作用的关键步骤
    脚本如下:

    /sbin/ifconfig eth0 down/sbin/ifconfig eth0 hw ether 00:0C:29:36:97:20/sbin/ifconfig eth0 upservice network restart

    方法②:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    添加

    MACADDR=00:0C:29:36:97:20

    • 注释掉原来的HWADDR

    • :wq

    • 保存退出。

      方法③:

      直接编辑 /etc/network/interfaces 文件,在 iface eth0 inet static 后面添加一行:

    • pre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx(要改成的MAC)


    • 编辑interfaces文件

    • sudo nano /etc/network/interfaces


    • 如下所示:

    • face eth0 inet staticpre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx(要改成的MAC)address 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1

    • 重启网卡

    • sudo /etc/init.d/networking restart

    • 注:MAC地址由udev在系统启动时探测网卡并加载,可在以下两个文件中反映出来
      /sys/class/net/eth0/address 《Linux就该这么学》 一起学习linx

      /etc/udev/rules.d/70-persistent-net.rules —-修改无效,根据硬件自动生成的文件

      不过,用ifconfig修改了mac后,

      /sys/class/net/eth0/address 的值随即跟着变了;但 /etc/udev/rules.d/70-persistent-net.rules 却没有变,只有在udev探测到硬件发生变化时才会修改这个文件。

    关于mac地址修改的问题,通过《linux 修改mac地址》、《linux修改mac地址命令》等文章的解答希望已经帮助到您了!如您想了解更多关于mac地址修改的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    mac地址修改
    《真三国无双8》PC版今日追加官方中文!新DLC推出 和 Win11 很搭的桌面管理软件