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

    古本屋を巡り、顧みられなくなった作品、作家を生き返らせた九大大学院教授没後20年 教え子や研究仲間を支える「清新な光景」
    2024-05-30

    将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

    作曲家ビゼーの窮地を救った傑作オペラ『真珠採り』の聴きどころは?【クラシック今日は何の日?】
    2024-05-31

    【6月1日~2日】週末必見の“アート&デザイン”まとめ!
    2024-06-01

    鳥取・大山でたいまつ行列 夏山開き前夜祭
    2024-06-01

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

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    大阪はアートとデザインの街となるか? Osaka Art & Design 2024の見どころをレポート
    2024-06-03

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    第34回福岡アジア文化賞受賞者が決定。大賞は真鍋大度
    2024-06-04

    今週末に見たい展覧会ベスト12。山武市百年後芸術祭、版画の青春、北斎に三島喜美代まで
    2024-06-04

    田名網敬一「TANAAMI!! AKATSUKA!! / 45 rpm」展、集英社マンガアートヘリテージ トーキョーギャラリーで開催
    2024-06-04

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

    夜の美術館を楽しめる「サマーナイトミュージアム2024」が開催。東京都現代美術館、東京都庭園美術館などで入場料割引も
    2024-06-04

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

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

    「さどの島銀河芸術祭2024」が開催。新潟・佐渡島各所で作品を制作展示
    2024-06-06

    umami.is をおすすめする理由
    2025-07-04

    ©  Dopu Box
    💛