• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
LinuxがMACアドレスを自動的に生成する様々な方法
2021-12-16

LinuxでMACアドレスを生成する方法はいろいろありますが、一般的なshell生成法のほか、Perl、rubyなどの方法でMACアドレスを生成することもできます。以下、MACアドレスの自動生成方法について簡単にまとめます。

一、shell生成法

shell生成の方法は最も多く、同時に最も簡単で効率的であると感じています。ここでは、いくつかの一般的なツールをランダムに生成する方法を列挙します。

Opensslツール生成

コードは次のとおりです。

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

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

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

  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:/g; s/:$//;’

  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

forサイクル生成

コードは次のとおりです。

  yang@crunchbang:~$ for i in {1..6}; do printf “%0.2X:” $[ $RANDOM % 0x100 ]; done | sed ‘s/:$/n/’

  8E:9E:FB:AE:FF:D2

  yang@crunchbang:~$ h=0123456789ABCDEF;for c in {1..12};do echo -n ${h:$(($RANDOM%16)):1};if [[ $((c%2)) = 0 && $c != 12 ]];then echo -n :;fi;done;echo

  19:7F:A9:41:E2:20

ここで改めて感嘆すると、言語自体に高級貴賤はなく、shellを軽視してはいけない。shellが実現できるのはなぜperl、python、phpなどで実現しなければならないのか。

二、perl生成法

コードは次のとおりです。

  yang@crunchbang:~$ perl -e ‘printf(“%.2x:”,rand(255))for(1..5);printf(“%.2xn”,rand(255))’

  f8:42:c1:d4:a8:28

  yang@crunchbang:~$ perl -e ‘print join(“:”, map { sprintf “%0.2X”,rand(256) }(1..6))。“n”’

  A7:02:BD:BC:59:E2

perlの強さと簡潔さは論争の余地がない。

三、ruby生成法

コードは次のとおりです。

  yang@crunchbang:~$ ruby -e ‘puts (1..6).map{“%0.2X”%rand(256)}.join(“:”)’

  CD:97:ED:52:B7:F4

ここで使用する方法はperlの方法とほとんど同じです。

四、python生成法

コードは次のとおりです。

  yang@crunchbang:~$ python -c “from itertools import imap; from random import randint; print ‘:’.join([‘%02x’%x for x in imap(lambda x:randint(0,255), range(6))])”

  52:75:80:68:3a:cc

centosとredhatの公式サイトにもpythonスクリプトが表示されます。

コードは次のとおりです。

  #!/usr/bin/python

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

  #

  import random

  #

  def randomMAC():

  mac = [ 0x00, 0x16, 0x3e,

  random.randint(0x00, 0x7f),

  random.randint(0x00, 0xff),

  random.randint(0x00, 0xff) ]

  return ‘:’.join(map(lambda x: “%02x” % 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アドレスを生成する方法について説明しましたが、本稿では4つの方法でMACアドレスを生成し、好きな方法を選択して自動的にMACアドレスを生成することができます。


ソース元URL:https://dopubox.com/article/p/3634ba81d5ed4700

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes
  • 歯科医師の技術で愛好家も納得するサウナを細部まで再現するミニチュア作家
    2024-05-30

    “ひばり”の愛称にふさわしい美しいメロディ。ハイドンの『弦楽四重奏曲第67番』【クラシック今日は何の日?】
    2024-05-30

    むのたけじ賞、名称変更 「生前に障害者差別発言」
    2024-05-31

    「ねこクラゲ」被告、脱税認める 原稿優先で申告せず、福岡地裁
    2024-05-31

    まだ無名だった作曲家エルガーが、婚約の贈り物として捧げた名曲【クラシック今日は何の日?】
    2024-06-01

    森鷗外の教師像に迫る 研究の「盲点」、記念館で特別展 学生の評判も紹介
    2024-06-01

    ビルケンシュトック、創業から250年の歴史を振り返る2冊を出版
    2024-06-01

    「企画展 歌と物語の絵 ―雅やかなやまと絵の世界」(泉屋博古館東京)開幕レポート。歌、物語、絵画が織りなす芸術世界へ
    2024-06-04

    社会的関与の芸術。清水穣評 城戸保「駐車空間、文字景、光画」展/野村浩「Painter」展
    2024-06-04

    開館10周年を記念。「広重 ─摺の極─」があべのハルカス美術館で開催へ
    2024-06-05

    多摩美術大学がAIやサーキュラーなど5つの最先端のテーマを研究するプラットフォームをスタート
    2024-06-04

    「ART OSAKA 2024」が7月18日より開幕。近代建築と現代美術のコラボレーションにも注目
    2024-06-04

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    「再会長江」北京で特別上映 竹内監督のトークイベントも
    2024-06-04

    フィギュアスケートにもぴったり! ハチャトゥリアン作曲の『仮面舞踏会』【クラシック今日は何の日?】
    2024-06-06

    田名網敬一の巨大インスタレーションが、世界初大規模回顧展「田名網敬一 記憶の冒険」に登場。国立新美術館で8月7日から
    2024-06-06

    「art stage OSAKA 2024」が9月に開催。大阪・関西万博への機運も醸成
    2024-06-05

    写真家の吉田ルイ子さん死去
    2024-06-06

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    ©  Dopu Box
    💛