怎么临时性地改变 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
版权属于: 吕滔博客
原文地址: https://lvtao.net/linux/linux-mac-address.html
转载时必须以链接形式注明原始出处及本声明。
[abc] |
匹配中括号中的单个字符,如a或b或c |
[^abc] |
匹配除了a、b、c等字符的其他单个字符 |
[a-z] |
匹配一个字符范围,如a到z |
[a-zA-Z] |
匹配一个字符范围,如a-z 或 A-Z |
^ |
匹配行的开始 |
$ |
匹配行的结束 |
\A |
匹配一个字符串的开始 |
\z |
匹配一个字符串的结束 |
. |
匹配任意单个字符 |
\s |
匹配空白字符,如空格,TAB |
\S |
匹配非空白字符 |
\d |
匹配一个数字 |
\D |
匹配非数字 |
\w |
匹配一个字母 |
\W |
匹配非字母 |
\b |
匹配字符边界 |
(...) |
引用所有括号中的内容 |
(a|b) |
a或者b |
a? |
零个或1个a |
a* |
零个或多个a |
a+ |
1个或多个a |
a{3} |
3次重复的a |
a{3,} |
3次或3次以上重复的a |
a{3,6} |
3到6次重复的a |
修正符 | |
/g |
查找所有可能的匹配 |
/i |
不区分大小写 |
/m |
多行匹配 |
/s |
单行匹配 |
/x |
忽略空白模式 |
/e |
可执行模式,PHP专有 |
/A |
强制从目标字符串开头匹配 |
/D |
使用$限制结尾字符,则不允许结尾有换行 |
/U |
只匹配最近的一个字符串;不重复匹配 |
添加新评论