Da ich ungern meine eigentliche Mac-Adresse preisgebe, habe ich ein kleines Script geschrieben um Mac-Adressen zu generieren.
Dem Script kann ich über Argumente einen Hersteller (z.B Samsung oder Apple), das Trennzeichen (Komma, strich, Doppelpunkt) und eine Anzahl der zu generierenden Adressen übergeben. Wird nichts übergeben, wird eine zufällig generierte Adresse ausgegeben.
Das Script ist ebenfalls auf unserem Git-Server
# @Author: DanSch <DanSch> # @Date: 27-08-2016 # @Email: dansch@blackit.de # @Last modified by: DanSch # @Last modified time: 27-08-2016 #!/usr/bin/env python #random-mac.py #ein kleines Python3 Script zum Erzeugen zufälliger Mac-Adressen from random import SystemRandom import argparse import sys random = SystemRandom() separatorListe = { 'doppelpunkt':':', 'strich':'-', 'punkt':'.' } herstellerListe = { #Weitere Mac-Adressen unter https://standards.ieee.org/develop/regauth/oui/oui.csv 'apple':'FOCBA1', 'amazon':'F0D2F1', 'blackberry':'A4E4B8', 'motorola':'1430C6', 'samsung':'FO25B7', } def hersteller(hersteller): if hersteller == "random": #print("Wähle zufälligen Hersteller aus\n") herstellermac = random.choice(list(herstellerListe.values())) #print(herstellermac) hersteller = list(herstellerListe.keys())[list(herstellerListe.values()).index(herstellermac)] #print(hersteller) return hersteller,herstellermac elif hersteller in herstellerListe: return hersteller, herstellerListe[hersteller] else: print("ERROR - Irgend etwas ist bei der Auswahl der Hersteller schief gelaufen") sys.exit() def geraeteKennung (): geraet = random.randrange(0x999999) geraet = "{0:0{1}X}".format(geraet, 6) return geraet def formatieren (rawmac, separator): mac = "" rawmac = [rawmac[i:i+2] for i in range(0, len(rawmac), 2)] if separator not in separatorListe: print("WARNUNG der uebergebene Seperator [" + separator + "] existiert nicht.\n Es wird nun der Standard (:) verwendet") separator = ":" else: separator = separatorListe[separator] for i in rawmac: mac += i + separator return mac[:-1] def argumente(): parser = argparse.ArgumentParser(description='Erstelle eine Zufällige Mac-Adresse') parser.add_argument('-s', '--separator', choices=sorted(separatorListe.keys()), default="doppelpunkt", help='Wie soll die Mac-Adresse getrennt werden? Default 00:00:00:00:00:00') parser.add_argument('-v', '--hersteller', choices=sorted(herstellerListe.keys()), default="random", help='Welchen Hersteller wollen Sie? r=random') parser.add_argument('-a', '--anzahl', action="store", dest="anzahl", type=int, default=1, help='Anzahl der zu erstellenden Mac-Adressen') return parser.parse_args() def main (): i=0 args = argumente() separatorArgument = args.separator herstellerArgument = args.hersteller anzahlArgument = args.anzahl print("\n"+str(anzahlArgument)+" Mac-Adresse(n) wurde erstellt:") while i < anzahlArgument: herstellername, herstellermac = hersteller(herstellerArgument) mac = herstellermac + geraeteKennung() mac = formatieren(mac, separatorArgument) print("\nHersteller: "+herstellername+"\nAdresse: "+mac) i +=1 if __name__ == '__main__': main()
Neueste Kommentare