• 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
    • app.tool_clock
  • [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 app.tool_clock
  • 制作期間「足りていなかった可能性」
    2024-05-31

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

    吉田南さん、バイオリン部門6位 エリザベート音楽コン、奈良出身
    2024-06-01

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

    日本の「木」の文化を家具を通して世界へ【ミラノデザインウィーク】
    2024-06-01

    死後に再評価が進んだ作曲家の筆頭、ビゼー。その裏には友人の存在が【クラシック今日は何の日?】
    2024-06-02

    <今週の本棚・次回の予定>6月8日の毎日新聞書評欄は『新装版 ペルーからきた私の娘』ほか
    2024-06-03

    小学館「作家の意向第一に協議」 映像化指針、ドラマ原作者死去で
    2024-06-03

    「警察密着24時」担当者ら懲戒 テレビ東京、石川社長は3割返上
    2024-06-03

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    映画「ゴジラ‐1.0」の震電は「コックピットだけ復元」のはずだった…山崎貴監督がエピソード披露
    2024-06-04

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    イタリア・ヴェローナの歴史あるレストランをパトリシア・ウルキオラが再解釈。
    2024-06-03

    「ロエベ ファンデーション クラフト プライズ 2024」の大賞が発表。等身大のセラミック彫刻を制作したアンドレス・アンサが受賞
    2024-06-05

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

    東京都写真美術館で「今森光彦 にっぽんの里山」が開催へ
    2024-06-04

    「避難いただけるほうが一安心」珠洲で激しい揺れに耐えた仏像、奈良博で縁つなぐ
    2024-06-04

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

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    長山智美 デザイン狩人|HAY DOGS♡
    2024-06-06

    ©  Dopu Box
    💛