• 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
  • MURAKAMI × Liquem 夢のコラボアクセが再登場☆|長山智美 デザイン狩人
    2024-05-30

    民藝・イズ・ビューティフル。 日本文化と黒人文化が融合する「アフロ民藝」とは?
    2024-05-30

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

    授業中の生徒や住民が弾道ミサイル飛来を想定した避難訓練 福島・須賀川桐陽高
    2024-05-31

    韓国HYBE傘下の代表続投 和解望む意向
    2024-05-31

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

    ニコライ・バーグマンが手がける北欧のジュエリーブランド〈フローラダニカ〉旗艦店が南青山にオープン。
    2024-06-03

    “20世紀音楽”の発展に貢献した指揮者、クーセヴィツキー。その偉業とは【クラシック今日は何の日?】
    2024-06-03

    本年入試私立公立とも志願者微減 栄光ゼミナール担当者にきく 埼玉中高入試最新動向
    2024-06-04

    「国芳の団扇絵 猫と歌舞伎とチャキチャキ娘」(太田記念美術館)開幕レポート。世界初の展覧会
    2024-06-04

    太宰府天満宮で「Fukuoka Art Book Fair」が開催へ
    2024-06-04

    お台場エリアを舞台に新芸術祭「東京お台場トリエンナーレ 2025」が誕生
    2024-06-05

    横山奈美の個展「広い空に / Big Sky Mind」がN&A Art SITEで開催へ
    2024-06-05

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

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

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

    写真家の吉田ルイ子さん死去 「ハーレムの熱い日々」
    2024-06-06

    パートナーとの強い絆から生まれた、ベンジャミン・ブリテンの代表作【クラシック今日は何の日?】
    2024-06-06

    ©  Dopu Box
    💛