Ramdom MAC und Hostname per Booting

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

Ramdom MAC und Hostname per Booting

Beitrag von bobthebear » 23.06.2010 10:11:43

Hallo Leute,

ich habe vor einiger Zeit zusammen mit einem Freund ein Script für das Uninetzwerk geschrieben, dass zumindest ein bisschen Privatssphäre sichern sollte. Wir haben in Python geschrieben und es wird nichts anderes gemacht als das die MAC-Adresse bei jedem Boot geändert wird und noch dazu der Hostname. Das Geschehen haben wir im Rootverzeichnis loggen lassen.

Das Skript per /etc/rc (...) entsprechend aufrufen lassen, jedoch VOR dem Networkmanager, also bevor irgend ein Dienst die Interfaces hochfährt.
Ich habe mir für die Semesterferien vorgenommen noch einzuführen, dass automatisch alle physischen Devices erkannt und geändert werden, aktuell ist das ja noch statisch.


Viel Spaß damit. Und wenn ihr noch Anregungen habt, immer raus damit.

Code: Alles auswählen

import random
import os
import time

def getHostname():
        name = ""
        for i in range(random.randint(8,12)):
                zahl = random.randint(97,122)
                buchstabe = chr(zahl)
                name += buchstabe
        return name

wlan0 = "00:%d:%s:%s:%s:%s"%(random.randint(11,15),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:])) + "  "

eth0 = "00:%d:%s:%s:%s:%s"%(random.randint(11,15),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:]),(hex(random.randint(0,63))[2:])) + "  "

os.system("ifconfig wlan0 hw ether " + wlan0)
os.system("ifconfig eth0 hw ether " + eth0)



#ts exist Datei
inhalt = ""
zeit = time.localtime()
datum = time.strftime("%c",zeit)

try:
	if os.path.exists("/root/machistory.txt"):
		datei = file("/root/machistory.txt","rt")
		inhalt = datei.read()
		datei.close()

	datei_new = file("/root/machistory.txt","wt")
	datei_new.write(inhalt + "wlan0:\t"+wlan0[0:18]+"\teth0:\t"+eth0[0:18]+"\t->\t"+datum+"\n")
	datei_new.close
except:
	print "Fehler beim Einlesen / Schreiben der Datei"



#Hostname aendern
hostfile = file("/etc/hostname","wt") 
hostname = getHostname() + "\n"
hostfile.write(hostname)
hostfile.close()


print 49*"-"
print "Neuer Hostname\t\t\t%s" %(hostname) 
print "Neue Macadresse wlan0 = \t" + wlan0
print "Neue Macadresse eth0  = \t" + eth0
print 49*"-"
time.sleep(3)
Wer Lust hat, kann die Formatierung ja noch ändern.

Gruß,
Bob

chr.gogolin
Beiträge: 441
Registriert: 12.10.2005 23:09:28
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: Ramdom MAC und Hostname per Booting

Beitrag von chr.gogolin » 15.07.2010 21:54:30

Wäre es nicht noch besser wenn man das über ein Skript in /etc/network/if-pre-up.d/ machen würde? Es gibt Leute die starten ihre Rechner nicht besonders oft neu; ich mache das mit meinem Notebook zum Beispiel im Schnitt nur so etwa einmal im Monat.
"Linux supports the notion of a command line or a shell for the same reason that only children read books with only pictures in them." - Bill Garrett

bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

Re: Ramdom MAC und Hostname per Booting

Beitrag von bobthebear » 15.07.2010 22:14:22

Eigentlich eine gute Idee. Darüber habe ich noch nicht nachgedacht, da ich Standby und andere States vermeide (Mein Key im Swap ist doof, ebenso im flüchtigen Speicher nicht angebracht. Oder um es mal zu den Quanten zu bringen nur pure states. An oder aus :P . Verdammt vielleicht geht doch beides :) .

Höchstinteressante Publikation! :THX:

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Ramdom MAC und Hostname per Booting

Beitrag von minimike » 15.07.2010 23:22:21

ja so mit "pre-up macchanger -r eth0"
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Antworten