详解Linux系统中网卡MAC地址克隆方法

怎么临时性地改变 MAC 地址?

你可以在 Linux 运行的时候改变 MAC 地址。需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线。当电脑重启时 MAC 地址又会变回原来的。下面介绍几种方法来改变你的 MAC 地址。

方法一:iproute2

  $sudo ip link set dev eth0 down  $sudo ip link set dev eth0 address 00:00:00:00:00:01  $sudo ip link set dev eth0 up

方法二:macchanger

macchanger 这个命令可以让你把 MAC 地址改成不同生产厂商的序列号。

在 Debian,Ubuntu 或 Linux Mint 下安装 macchanger:

  $sudo apt-get install macchanger

在 Fedora 下安装 macchanger:

  $ sudo yum install macchanger  

在 CentOS 或 RHEL 下安装 macchanger:

  $ wget http://ftp.club.cc.cmu.edu/pub/gnu/macchanger/macchanger-1.6.0.tar.gz   $ tar xvfvz macchanger-1.6.0.tar.gz  $ cd macchanger-1.6.0  $ ./configure  $ make  $ sudo make install

下面给出一些 macchanger 的高级使用例子。使用 macchanger 你不必再手动禁用、启用你的网卡。

仅仅改变 MAC 地址:

  $ sudo macchanger --mac=00:00:00:00:00:01 eth0

在保证 OUI 一致的情况下为 MAC 设置一个随机地址:

  $ sudo macchanger -e eth0

为 MAC 设置一个完全随机的地址:

  $ sudo macchanger -r eth0

获取所有网卡的 MAC 地址,然后只列出指定的厂商(比如 Juniper):

  $ macchanger -l | grep -i juniper

Linux :MAC 地址克隆方法 显示一块网卡原来的 MAC 地址和伪装的 MAC 地址:

  $ macchanger -s eth0  Current MAC: 56:95:ac:ee:6e:77 (unknown)  Permanent MAC: 00:0c:29:97:68:02 (Vmware, Inc.)

如何永久性地改变 MAC 地址?

如果你想在系统重启后还保持伪装 MAC 地址,你需要编辑配置文件。比如你想改变 eth0 的 MAC 地址,按以下方法搞起:

在 Fedora,CentOS 或 RHEL 下:

  $ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0  DEVICE=eth0  MACADDR=00:00:00:00:00:0

或者你可以建一个开机启动的脚本放在 /etc/NetworkManager/dispatcher.d 目录下,前提是你使用 Network Manager 管理你的网络。这里假设你已经装了 macchanger,脚本内容如下:

  $ sudo vi /etc/NetworkManager/dispatcher.d/000-changemac  #!/bin/bash  case "$2" in  up)  macchanger --mac=00:00:00:00:00:01 "$1"  ;;  esac  $ sudo chmod 755 /etc/NetworkManager/dispatcher.d/000-changemac

在 Debian,Ubuntu 或 Linux Mint 下:

新建一个开机启动脚本,放在 /etc/network/if-up.d/ 目录下:

  $ sudo vi /etc/network/if-up.d/changemac  #!/bin/sh  if [ "$IFACE" = eth0 ]; then   ip link set dev "$IFACE" address 00:00:00:00:00:01  fi  $ sudo chmod 755 /etc/network/if-up.d/changemac

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

参与评论