2024年10月Linux自动生成MAC地址的方法汇总

发布时间:

  ⑴Linux下生产MAC地址的方法有很多种,除了常见的shell生成法外,还能通过Perl、ruby等方法来生成MAC地址,下面小编对MAC地址的自动生成方法做了简单的汇总。

  ⑵一、shell生成法

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

  ⑷openssl工具生成

  ⑸yangcrunchbang:~$ openssl rand -hex | sed ‘s/(。。/:/g; s/.$//’

  ⑹a::d:ef::d

  ⑺yangcrunchbang:~$ openssl rand | xxd -p | sed ‘s/(。。/:/g; s/:$//’

  ⑻b:f::c::d

  ⑼yangcrunchbang:~$ od -An -N -x /dev/random | mdsum | sed -r ‘s/^(。{}.*$//; s/([-a-f]{}/:/g; s/:$//;’

  ⑽yangcrunchbang:~$

  ⑾yangcrunchbang:~$ od /dev/urandom -w -tx -An|sed -e ‘s/ //’ -e ‘s/ /:/g’|head -n

  ⑿d:d:::c:f

  ⒀yangcrunchbang:~$ for i in {..}; do printf “%.X:” $[ $RANDOM % x ]; done | sed ‘s/:$/n/’

  ⒁E:E:FB:AE:FF:D

  ⒂yangcrunchbang:~$ h=ABCDEF;for c in {..};do echo -n ${h:$(($RANDOM%:};if [[ $((c% = && $c != ]];then echo -n :;fi;done;echo

  ⒃:F:A::E:

  ⒄这里再次感叹下,语言本身没有高级贵贱,不要轻视了shell,shell能实现的干吗非得要用perl、python、php等去实现。

  ⒅二、perl生成法

  ⒆yangcrunchbang:~$ perl -e ‘printf(“%.x:”,rand(for(..;printf(“%.xn”,rand(’

  ⒇f::c:d:a:

  ⒈yangcrunchbang:~$ perl -e ‘print join(“:”, map { sprintf “%.X”,rand( }(..。“n”’

  ⒉A::BD:BC::E

  ⒊perl的强大与简洁无可争辩 。

  ⒋三、ruby生成法

  ⒌yangcrunchbang:~$ ruby -e ‘puts (...map{“%.X”%rand(}.join(“:”’

  ⒍CD::ED::B:F

  ⒎这里使用的方法几乎和perl中的方法一样。

  ⒏四、python生成法

  ⒐yangcrunchbang:~$ python -c “from itertools import imap; from random import randint; print ‘:’.join([‘%x’%x for x in imap(lambda x:randint(,, range(]”

  ⒑::::a:

  ⒒centos和redhat官方站点上也给出了一个python脚本:

  ⒓#!/usr/bin/python

  ⒔# macgen.py script to generate a MAC address for Red Hat Virtualization guests

  ⒕import random

  ⒖def randomMAC(:

  ⒗mac = [ x, x, xe,

  ⒘random.randint(x, xf,

  ⒙random.randint(x, xff,

  ⒚random.randint(x, xff ]

  ⒛return ‘:’.join(map(lambda x: “%x” % x, mac

  ①print randomMAC(

  ②在有virtinst.util模块时,也可以使用下面的简单语句生成新的mac和uuid:

  ③#!/usr/bin/env python

  ④# -*- mode: python; -*-

  ⑤print “”

  ⑥print “New UUID:”

  ⑦import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID(

  ⑧print “New MAC:”

  ⑨import virtinst.util ; print virtinst.util.randomMAC(

  ⑩print “”

  Ⅰ上面就是Linux生成MAC地址的方法介绍了,本文一共介绍了四种方法生成MAC地址,你可以选择你喜欢的方法来自动生成MAC地址。