Linux: 生成随机的MAC地址

Linux: 生成随机的MAC地址,第1张

sed -i 's@#iface eth0 inet static@pre-up ifconfig eth0 hw ether '$MAC'@g' grep -rl "#iface eth0 inet static" /etc/network/interfaces

有一批ARM板出来全都是同一个MAC地址: 08:00:27:00:01:92

这就导致获取的IP都是一样的,需要让他们启动后获取各自不一样的IP,因此每个板子都需要获得其自己的MAC地址(后三个BYTE区分身份): "08:00:27:XX:XX:XX"

用shell脚本来实现随机的MAC。

Printf random mac by 4 commands :

Target:

demo: /etc/init.d/network.sh, 添加配置的实现:

Github地址: https://github.com/kumataahh

我们为什么要更改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 https://github.com/alobbs/macchanger

[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地址的方法有很多种,除了常见的shell生成法外,还能通过Perl、ruby等方法来生成MAC地址,下面小编对MAC地址的自动生成方法做了简单的汇总。

一、shell生成法

shell生成的方法是最多的的,同时也感觉也是最为简单高效的,这里列几种常用工具随机生成的方法:

openssl工具生成

代码如下

yang@crunchbang:~$ openssl rand -hex 6 | sed ‘s/(。。)/1:/gs/.$//’

a0:77:d4:ef:08:7d

yang@crunchbang:~$ openssl rand 6 | xxd -p | sed ‘s/(。。)/1:/gs/:$//’

3b:7f:95:c8:39:6d

od生成

代码如下

yang@crunchbang:~$ od -An -N10 -x /dev/random | md5sum | sed -r ‘s/^(。{10}).*$/1/s/([0-9a-f]{2})/1:/gs/:$//’

b0:85:1a:41:b1

yang@crunchbang:~$

yang@crunchbang:~$ od /dev/urandom -w6 -tx1 -An|sed -e ‘s/ //’ -e ‘s/ /:/g’|head -n 1

d8:d3:67:20:c5:f2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7345186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存