ubuntuusers.de

Shellskript um MAC-Adresse zu ändern

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

Developer92 Team-Icon

(Themenstarter)
Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

Ach das meint ihr...

Jo, das sollte man überdenken. Mach ich am WE mal.

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

> @Sid Burn: Öhm, was is jetzt der Fehler. Ich seh keinen. Schon wenn zufällig ein anderes "locale" aktiv ist, geht Dein grep "Hardware" schief !

Genau.

Deshalb sollte man das vielleicht doch lieber anders machen, so als Anregung ... Die Suche nach nicht-Blank am Zeilenanfang wäre da z.B. schon viel robuster:

Das ist auch nicht robuster. Robuster wäre es wenn man vorher die Locale setzt so das man weiß welche Ausgabe vorher kommt. Hier bietet sich die Locale "C" an. Ich weiß nicht wie gut zum Beispiel Arabisch übersetzt ist, wenn das dann aber auch korrekt eine Darstellung von Rechts nach Links macht, wirst du Probleme haben wenn du am "ende" (rechts) nach etwas suchst. Weil das Ende im Arabischen Links ist und man von rechts nach Links liest.

Daher sollte man bei jedem Shell Skript gegen die Locale "C" Skripten damit man auch wirklich weiß das es auf jedem System geht. Bei der Perl Lösung muss man das nicht beachten weil die Sachen von der Bibliothek abstrahiert wird, oder bei manchem Lösungen gar nicht die Ausgabe eines Programmes versucht wird zu Parsen was per Definition schon fehleranfällig ist.

Antiqua Team-Icon

Avatar von Antiqua

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 4534

nur als Anmerkung: ich meine mich zu erinnern, daß /sbin/ip die LOCALE bei der Ausgabe ziemlich egal ist und deshalb die Suche nach der MAC einfacher ist:

antiqua@cegyptine:~$ /sbin/ip addr show eth0 |grep ether |awk '{ print $2 }'
08:00:24:ef:6d:29

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Spelter schrieb:

Ich hab im übrigen mal im /sys Ordner gesucht ob es nicht einfacher geht, hab leider nix gefunden was jetzt einfacher wäre. Dazu bräuchte mal die PCI ID im System.

Ich werfe mal vorsichtig /sys/class/net/eth0/address in den Raum und gehe schonmal in Deckung, weil ich bestimmt was wichtiges übersehen habe. 😬 😉

Juergen_Wurscht

Anmeldungsdatum:
10. April 2008

Beiträge: 13

eine andere Möglichkeit:

Hallo,

laut https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/336736

wird die Funktionalität von pre-up/post-down ab der NetworkManager Version 07.XX nicht mehr unterstützt.

Um Macchanger automatisch beim Boot zu starten und zwar bevor der NetworkManager startet, hilft folgender Hinweis:

https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/336736/comments/32

Hier wird eine Datei "macchanger.conf" in /etc/init angelegt.

sudo gedit /etc/init/macchanger.conf

Inhalt:

macchanger pre-start skript

Und jetzt noch in dem Skript eth0 und wlan0 etc. entsprechend der eigenen Konfiguration anpassen und die gewünschte Option für Macchanger setzen

So hat es bei mir geklappt unter Ubuntu 10.04 Lucid Lynx aber funktioniert ja vielleicht auch bei früheren Versionen.

egalichlassdassjetzt

Anmeldungsdatum:
27. Januar 2014

Beiträge: Zähle...

Hallo, unter Xubuntu "Trusty" 32bit funktioniert der Macchanger in Version 1.7.0-1 nicht (jedenfalls bei mir).

Meine Lösung: Macchanger 1.5.0-9 aus "Saucy" verwenden. Vorgehensweise: 1.7.0-1 deinstallieren; 1.5.0-9 installieren - Hinweis ignorieren! Damit diese Version erhalten bleibt, folgende Datei erzeugen: macchanger.pref Inhalt:

Package: macchanger Pin: version 1.5.0-9* Pin-Priority: 1000

Kopieren als root nach: /etc/apt/preferences.d

Macchanger in Version 1.5.0-9 hier: http://pkgs.org/ubuntu-13.10/ubuntu-universe-i386/macchanger_1.5.0-9_i386.deb/download/ Version beibehalten: http://wiki.ubuntuusers.de/Apt-pinning

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Wohnort: NRW

Hallo,
ziemlich umständlich, nutze doch einfach ip

sudo ip link set dev <Interface> addr <MAC-Adresse>

Wenn Du das ständig benötigst, so kannst Du einen entsprechenden Befehl auch direkt in eine separate udev-Regel oder die bestehende /etc/udev/rules.d/70-persistent-net.rules einfügen.

egalichlassdassjetzt

Anmeldungsdatum:
27. Januar 2014

Beiträge: 11

elektronenblitz63 schrieb:

Hallo,
ziemlich umständlich, nutze doch einfach ip

sudo ip link set dev <Interface> addr <MAC-Adresse>

Wenn Du das ständig benötigst, so kannst Du einen entsprechenden Befehl auch direkt in eine separate udev-Regel oder die bestehende /etc/udev/rules.d/70-persistent-net.rules einfügen.

Danke für den Tipp. Meiner ist für Newbies nicht sonderlich nachvollziehbar 😀 Da habe ich wohl einen Fehler gemacht mit dem "Codeblock". Wie auch immer, bei mir funktioniert's ja jetzt, insofern keine Veranlassung zur Änderung.

Grüsse

Antworten |