[gelöst] MAC-Adresse lässt sich nicht ändern

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Krull
Beiträge: 190
Registriert: 14.09.2012 10:33:54
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] MAC-Adresse lässt sich nicht ändern

Beitrag von Krull » 07.08.2013 18:16:33

Hallo,

ich möchte gerne die MAC-Adresse meiner WLAN-Karte ändern, was aber irgendwie nicht so recht will. Ich habe dazu in der '/etc/networks/interfaces' einfach

Code: Alles auswählen

hwaddress ether 01:02:03:04:05:06
eingefügt und das Netzwerk mit

Code: Alles auswählen

service networking restart
neu gestartet. Allerdings klappt das leider nicht. Ich bekomme dann nämlich die Meldung

Code: Alles auswählen

RTNETLINK answers: Device or resource busy
Failed to bring up wlan0.
Ich habe es auch versucht mit < Netzwerk runterfahren > < interfaces ändern > <Netzwerk starten >. Aber dann kommt immer noch dieser Meldung. Busy ist dann aber garantiert nichts mehr außer dem loopback device.

Weiß jemand vielleicht Rat?

Grüße
Whopper
Zuletzt geändert von Krull am 09.08.2013 19:55:08, insgesamt 1-mal geändert.

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von Strunz_1975 » 07.08.2013 19:00:50

Probier das mal mit dem folgenden Paket: macchanger
Debian Bookworm

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von roli » 07.08.2013 20:13:44

Hi,

ich habe mir irgendwann mal folgendes Shell Script dafür geschrieben:

Code: Alles auswählen

root@meteor:~/bin# cat change_mac.sh 
#!/bin/bash

ifconfig -a | grep "Hardware Adresse"

echo -e "Bitte Gerät auswählen dessen MAC geändert werden soll: \c"
read dev2change

case "$dev2change" in
        eth0)   echo "eth0 wird bearbeitet";;
        wlan0)  echo "wlan0 wird bearbeitet";;
        *)      echo -e "Dieses Gerät existiert nicht!"
                exit;;
esac

newmac="00:10:48:BA:d1:30"
echo -e "\nBitte neue MAC eingeben: 00:aa:bb:cc:dd:ee\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\c"
read newmac

echo "neue Mac: $newmac wird eingestellt ..."

ifconfog $dev2change down
ifconfig $dev2change hw ether $newmac
ifconfig $dev2change up
ifconfig $dev2change |grep "Hardware Adresse"
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

wanne
Moderator
Beiträge: 7624
Registriert: 24.05.2010 12:39:42

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von wanne » 07.08.2013 20:55:41

Ich nehme an, das da irgend ein networkmanager (wpa_supplicant) läuft.
rot: Moderator wanne spricht, default: User wanne spricht.

Krull
Beiträge: 190
Registriert: 14.09.2012 10:33:54
Lizenz eigener Beiträge: MIT Lizenz

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von Krull » 08.08.2013 13:21:23

@ roll: Hat dieses Skript jemals funkioniert? 'ifconfog' scheint mir kein gewöhnlicher Befehl zu sein ;)

Also mit macchanger funktioniert es jedenfalls. ABER: nur dann, wenn ich es im laufenden Rechnerbetrieb mit runtergefahrendem Netzwerk ausführe.
Ich möchte mir aber gerne mit jedem Rechnerstart eine neue Adresse auswürfeln lassen. Ich habe es versucht, indem ich die Datei '/etc/network/if-pre-up.d/macchanger' erstelle und dort

Code: Alles auswählen

#!/bin/bash
/usr/bin/macchanger -a wlan0
eintrage. Es klappt aber nicht so. Ich habe es auch auf verschiedenen Rechnern versucht. Die weigern sich alle. Dem Bootprotokoll kann ich entnehmen, dass die Adresse zwar geändert wird, am am Ende ist es doch wieder die Alte. Irgendwas scheint das Ding später während des Hochfahrens wieder zurückzusetzen :-/

Ideen?

uname
Beiträge: 12494
Registriert: 03.06.2008 09:33:02

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von uname » 08.08.2013 13:48:32

Eigentlich habe ich keine Ahnung. Aber du könntest dir mal

Code: Alles auswählen

/etc/udev/rules.d/70-persistent-net.rules
anschauen. Dort oder in einer anderen Datei könnte vielleicht die MAC-Adresse stehen. Such mal danach.

Könnte man nicht einfach die MAC-Adresse in /sys umbiegen?

Code: Alles auswählen

/sys/class/net
bzw. per Softlink Richtung

Code: Alles auswählen

/sys/devices
Vielleicht kann das mindestens mal jemand probieren.

Nachtrag:

Das Programm Debianmacchanger nutzt wohl die Systemroutine "ioctl()". Vielleicht kann man das ja auch per Shell ausführen bzw. die zugehörigen Dateien manuell ändern. Vielleicht mal ein Mini-Programm schreiben und per Debianstrace die I/O-Dateien überwachen.

Code: Alles auswählen

netinfo.c:
...
... (ioctl(net->sock, SIOCSIFHWADDR, &net->dev) ...
...
Manual:

Code: Alles auswählen

man ioctl

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von KBDCALLS » 08.08.2013 18:43:10

Krull hat geschrieben:@ roll: Hat dieses Skript jemals funkioniert? 'ifconfog' scheint mir kein gewöhnlicher Befehl zu sein ;)

ifconfig
ist schon ein normaler Befehl. Ist aber nur als root erreichbar. Es sei denn man benutzt den vollen Pfad.

also

Code: Alles auswählen

/sbin/ifconfig
Allerdings wird in dem Falle ohne Root nix zu machen sein.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

wanne
Moderator
Beiträge: 7624
Registriert: 24.05.2010 12:39:42

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von wanne » 08.08.2013 20:12:37

Sag doch gleich, das du das beim booten machen willst. Da sollte man das eigentlich über udev machen. Sonst stellt dir udev das wieder zurück. Oder du startets das esrst sehr spät im Bootvorgang. (So mache ich das weil ich mein script nicht umschreiben wollte.)
rot: Moderator wanne spricht, default: User wanne spricht.

Krull
Beiträge: 190
Registriert: 14.09.2012 10:33:54
Lizenz eigener Beiträge: MIT Lizenz

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von Krull » 09.08.2013 19:54:25

KBDCALLS hat geschrieben:
ifconfig
ist schon ein normaler Befehl. Ist aber nur als root erreichbar. Es sei denn man benutzt den vollen Pfad.
Ja, ifconfig kenne ich. Aber ich meinte diesen Befehl:
roli hat geschrieben:

Code: Alles auswählen

ifconfog $dev2change down
Naja, Schwamm drüber.

Das Problem hat sich auch von selbst erledigt. Macchanger funktioniert jetzt doch korrekt. Keine Ahnung, wieso es beim ersten Versuch nicht geklappt. Trotzdem danke an alle für die Hilfe!

Zwischendurch hatte ich übrigens auch eine entspr. Änderung in /sys/class/net/ ... probiert. Das erzeugt nicht mehr als einen Eingabe-Ausgabefehler. Und vom Spielen in /etc/udev/ ... kann ich nur abraten. Damit habe ich mir zwischenzeitlich mein Netzwerk komplett abgeschossen ^^

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von KBDCALLS » 09.08.2013 21:33:20

Krull hat geschrieben: Ja, ifconfig kenne ich. Aber ich meinte diesen Befehl:
roli hat geschrieben:

Code: Alles auswählen

ifconfog $dev2change down
Naja, Schwamm drüber.
Wo haste das denn her ?

Das hat ne Suche in der Contents-i386.gz von Wheezy ergeben.

Code: Alles auswählen

matthias@svetlana:/home/heinrich/debianmirror/wheezy/dists/stable$ zgrep ifcon Contents-i386.gz |grep bin
sbin/ifconfig                                           net/net-tools
usr/bin/inetutils-ifconfig                              net/inetutils-tools
usr/sbin/pifconfig                                      python/python-ethtool
matthias@svetlana:/home/heinrich/debianmirror/wheezy/dists/stable$ 
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: MAC-Adresse lässt sich nicht ändern

Beitrag von roli » 10.08.2013 09:46:56

KBDCALLS hat geschrieben:
Krull hat geschrieben: Ja, ifconfig kenne ich. Aber ich meinte diesen Befehl:
roli hat geschrieben:

Code: Alles auswählen

ifconfog $dev2change down
Naja, Schwamm drüber.
Wo haste das denn her ?
aus meinem Script oben.

Hier im übrigen mal eine berichtigte Version:

Code: Alles auswählen

#!/bin/bash

ifconfig -a | grep "Hardware Adresse"

echo -e "Bitte Gerät auswählen dessen MAC geändert werden soll: \c"
read dev2change

case "$dev2change" in
        eth0)   echo "eth0 wird bearbeitet";;
        wlan0)  echo "wlan0 wird bearbeitet";;
        *)      echo -e "Dieses Gerät existiert nicht!"
                exit;;
esac

default_mac="00:10:99:BA:d1:30"  #default MAC auf die gewechselt wird wenn nichts anderes eingegeben wird
new_mac=""
echo -e "\nBitte neue MAC eingeben: $default_mac\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\c"
read newmac

if [ "$newmac" = "" ]
then
  newmac=$default_mac
fi

echo "neue Mac: $newmac für $dev2change wird eingestellt ..."

ifconfig $dev2change down
ifconfig $dev2change hw ether $newmac
ifconfig $dev2change up

echo "Prüfe ob es funktioniert hat: "
ifconfig $dev2change |grep "Hardware Adresse"
echo ""
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten