MAC-Adresse

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die MAC-Adresse (Media-Access-Control-Adresse) ist die Hardware-Adresse jedes einzelnen Netzwerkadapters, die als eindeutiger Identifikator des Geräts in einem Rechnernetz dient. Bei Apple wird sie auch Ethernet-ID, Airport-ID oder Wi-Fi-Adresse genannt, bei Microsoft Physikalische Adresse.

Funktion der MAC-Adresse im Netzwerk[Bearbeiten]

Die MAC-Adresse wird der Sicherungsschicht (Schicht 2) des OSI-Modells zugeordnet. Im von der IEEE erweiterten OSI-Modell wird sie der Unterschicht Media Access Control (Schicht 2a) zugeordnet. Um die Sicherungsschicht mit der Vermittlungsschicht zu verbinden, wird zum Beispiel bei Ethernet das Address Resolution Protocol im Rahmen von IPv4 verwendet. Im IPv6 gibt es ein neues Protokoll, Neighbor Discovery Protocol (NDP), das diese Funktion übernimmt.

Netzwerkgeräte brauchen dann eine MAC-Adresse, wenn sie auf Schicht 2 explizit adressiert werden sollen, um Dienste auf höheren Schichten anzubieten. Leitet das Gerät wie ein Repeater oder Hub die Netzwerkpakete nur weiter, ist es auf der Sicherungsschicht nicht sichtbar und braucht folglich keine MAC-Adresse. Bridges und Switches untersuchen zwar die Pakete der Sicherungsschicht, um das Netzwerk physikalisch in mehrere Kollisionsdomänen aufzuteilen, nehmen aber selbst nicht aktiv an der Kommunikation teil, brauchen also für diese Basisfunktionen ebenfalls keine MAC-Adresse.

Ein Switch benötigt aber eine MAC-Adresse, wenn er selbst über das Rechnernetz administriert wird oder Monitoring-Dienste anbietet (zum Beispiel über Telnet, SNMP oder HTTP). Eine MAC-Adresse wird ebenfalls benötigt, wenn Bridges oder Switches den Spanning Tree Algorithmus zur Vermeidung von Schleifen in redundant ausgelegten Rechnernetzen verwenden.

Form (Syntax) von MAC-Adressen[Bearbeiten]

Im Falle von Ethernet-Netzen besteht die MAC-Adresse aus 48 Bit (sechs Bytes). Die Adressen werden in der Regel hexadezimal geschrieben.

Üblich ist dabei eine byteweise Schreibweise, wobei die einzelnen Bytes durch Bindestriche oder Doppelpunkte voneinander getrennt werden, z. B. 00-80-41-ae-fd-7e oder 00:80:41:ae:fd:7e. Seltener zu finden sind Angaben wie 008041aefd7e oder 0080.41ae.fd7e.

Die Reihenfolge der Zeichen ist allerdings nicht bei allen Anwendungen gleich. Man unterscheidet hier zwischen der kanonischen und der „Bit-reversed“-Darstellung. Die kanonische Form wird für Darstellungen bevorzugt.

Kanonische Darstellung[Bearbeiten]

Die übliche Darstellung von MAC-Adressen, wie sie beispielsweise in der Ausgabe von ipconfig/ifconfig erscheint, wird auch als kanonisches Format („canonical form“, „LSB format“ bzw. „Ethernet format“) bezeichnet. Es gibt die Reihenfolge an, in der die Adresse in IEEE 802.3 (Ethernet) und IEEE 802.4 (Token Bus) übertragen wird. Hier startet die Übertragung mit dem niederwertigsten Bit (LSB, least significant bit) eines Oktetts (Ausnahme ist die Frame Check Sequence – FCS).

Bit-reversed-Darstellung[Bearbeiten]

IEEE 802.5 (Token Ring) und IEEE 802.6 starten die Übertragung mit dem höchstwertigen Bit (MSB, most significant bit). Dies kann leicht zu Missverständnissen führen, wenn nicht angegeben wird, ob von der kanonischen Darstellung in normaler Bytedarstellung oder von der umgekehrten Bitübertragungsdarstellung die Rede ist. Eine Adresse, deren kanonische Form beispielsweise 12-34-56-78-9A-BC ist, wird bei der Standardübertragung (LSB zuerst, heißt: von rechts nach links gelesen) auf der Leitung in Form der

Bitfolge 01001000 00101100 01101010 00011110 01011001 00111101 übertragen.

In Token-Ring-Netzwerken (MSB zuerst, heißt: von links nach rechts gelesen, also natürlichsprachlich) würde die Übertragung in Form der

Bitfolge 00010010 00110100 01010110 01111000 10011010 10111100 stattfinden.

Wenn dies bei der Umsetzung der Bitfolgen in die kanonische Darstellung nicht konsistent beachtet wird, kann z. B. die letztere Darstellung fälschlicherweise als 48-2C-6A-1E-59-3D (LSB zuerst) interpretiert werden.

Die Darstellung in Token-Ring-Netzwerken wird dann aber als „Bit-reversed order“, „Non-canonical form“, „MSB format“, „IBM format“, oder „Token Ring format“ wie in RFC 2469 aufgeführt bezeichnet.

Funktion[Bearbeiten]

MAC-Adressen in einem Ethernet-Typ-II-Frame

In jedem Frame nach Ethernet-II-Variante wird vor dem Typfeld und den Daten zunächst die MAC-Adresse des Empfängers und des Senders übertragen. Empfänger und Sender müssen Teil des Local Area Networks (LAN) sein. Soll ein Paket in ein anderes Netz geschickt werden, wird es auf Ethernet-Ebene zunächst an einen Router geschickt. Dieser analysiert die Daten auf der untergeordneten Schicht und vermittelt das Paket dann weiter. Er erzeugt dazu einen neuen Ethernet-Frame, wenn es sich bei dem Nachbarnetz ebenfalls um ein Ethernet handelt. Dazu ersetzt ein Router die MAC-Adressen, d. h. wenn Router R1 ein Ethernet-Frame empfängt und es an den Router R2 weitergeben soll, ersetzt R1 die Quelladresse mit seiner eigenen MAC-Adresse und die Zieladresse mit der Mac-Adresse von R2.

Pseudo-Empfänger „Broadcast-Adresse“[Bearbeiten]

Ethernet-Broadcast-Frame

Die MAC-Adresse, bei der alle 48 Bits auf 1 gesetzt sind (ff-ff-ff-ff-ff-ff), wird als Broadcast-Adresse verwendet, die an alle Geräte in einem LAN gesendet wird. Broadcast-Frames werden ohne besondere Maßnahmen nicht in ein anderes LAN übertragen.

Besondere Kennungen[Bearbeiten]

Empfängergruppe[Bearbeiten]

Das niederwertigste Bit (engl. Least Significant Bit, LSB) des ersten Bytes (Bit 0) einer MAC-Adresse gibt an, ob es sich um eine Einzeladresse oder Gruppenadresse (I/G für Individual/Group) handelt. Bei einem Broadcast oder Multicast wird I/G = 1 gesetzt, sonst und bei Quelladressen ist I/G = 0.

Kurz: I/G ist

  • 0 für I (Individual) oder
  • 1 für G (Group).

Die meisten Protokolle, welche auf OSI Layer 2 arbeiten, haben besondere MAC-Adressen, sog. MAC-Multicast-Adressen. Das VLAN Trunking Protocol beispielsweise verwendet die Adresse 01-00-0C-CC-CC-CC.[1]. Dadurch ist ein Frame an alle Switches gleichzeitig adressiert. Es gibt auch ganze Gruppen von MAC-Multicast-Adressen: Das TRILL-Protokoll beispielsweise verwendet unter anderem 01-80-C2-00-00-00 bis 01-80-C2-00-00-0F[2]. Auch andere Protokolle besitzen besondere, fest zugewiesene, MAC-Adressen.

Vergabestelle[Bearbeiten]

Das folgende 2. Bit (Bit 1, genannt U/L für Universal/Local) zeigt an, ob die MAC-Adresse global eindeutig ist (Universally Administered Address (UAA); U/L = 0) oder lokal administriert wird und nur dort eindeutig ist (Locally Administered Address (LAA); U/L = 1).[3]

Kurz: U/L ist

  • 0 für U (Universal) oder
  • 1 für L (Local).

Herstellerkennungen[Bearbeiten]

Herstellercodes von MAC-Adressen (Auswahl)
00-50-8B-xx-xx-xx Compaq
00-07-E9-xx-xx-xx Intel
00-60-2F-xx-xx-xx Cisco
00-15-F2-xx-xx-xx Asus

In den ersten 24 Bits (Bit 3 bis 24) wird eine von der IEEE vergebene Herstellerkennung (auch OUIOrganizationally Unique Identifier genannt) beschrieben, die weitgehend in einer Datenbank einsehbar sind[4]. Die verbleibenden 24 Bits (Bit 25 bis 48) werden vom jeweiligen Hersteller für jede Schnittstelle individuell festgelegt. Compaq zum Beispiel hat eine OUI mit der Adresse 00-50-8b. Innerhalb dieser OUI darf Compaq alle verfügbaren Adressen verwenden, also 00-50-8b-xx-xx-xx. Es ergeben sich 224 = 16777216 (16,8 Millionen) individuelle Adressen.

Neben der OUI existiert auch ein kleiner Adressbereich (IAB – Individual Address Block), der für Privatpersonen und kleine Firmen und Organisationen vorgesehen ist, die nicht so viele Adressen benötigen. Die Adresse beginnt mit 00-50-C2 und wird von drei weiteren Hex-Ziffern gefolgt (12 Bits), die für jede Organisation vergeben werden. Damit verbleibt der Adressbereich innerhalb der Bits 11 bis 0 nutzbar wodurch 212 = 4096 individuelle Adressen möglich sind.

Die Adressen der Schnittstellen jedes netzwerkfähigen Geräts sollten theoretisch weltweit eindeutig vorbelegt sein (es sind aber schon Einzelfälle bekannt geworden, bei denen zwei Netzwerkkarten im selben Netzwerk identische MAC-Adressen besaßen, was zu zunächst völlig unerklärlichen Fehlern führte). Dies kann zur automatischen Konfiguration von Geräten eingesetzt werden und wird von Protokollen wie RARP, BOOTP und DHCP genutzt. Die Software unterstützt es jedoch auch häufig, jeden beliebigen Wert als MAC-Adresse verwenden zu können. Dies wird zum Beispiel bei Backup-Systemen genutzt, wo Ersatzgeräte die MAC-Adresse eines ausgefallenen Geräts übernehmen können.

Manche Software verwendet die MAC-Adresse der ersten Netzwerkkarte zur Identifikation des Rechners, auf dem lizenzierte Programme ausgeführt werden dürfen. Auch die Berechnung einer universellen Identifikation (UUID oder GUID) verwendet neben anderen Teilen diese MAC-Adresse. Da die MAC-Adresse geändert werden kann, raten Sicherheitsexperten allerdings davon ab, die MAC-Adresse als alleiniges Authentifizierungskriterium zu verwenden.

Herstellerunabhängige Kennungen[Bearbeiten]

Neben der Broadcast-Adresse FF-FF-FF-FF-FF-FF, die alle Geräte in einem lokalen Netzwerk adressiert, werden beispielsweise bei Verwendung des IP-Protokolls Multicast-Adressen im Bereich 01-00-5e-00-00-00 bis 01-00-5e-7f-ff-ff verwendet. Dabei werden dann die unteren 23 Bit der IP-Multicast-Adresse direkt auf die untersten 23 Bit der MAC-Adresse abgebildet. Der IP-Multicast-Adresse 224.0.0.1 ist somit die Multicast-MAC-Adresse 01-00-5e-00-00-01 fest zugeordnet. Da die ersten vier Bit einer IP-Multicast-Adresse entsprechend der Class D Konvention fest sind, verbleiben 5 Bits der IP-Multicast-Adresse, die nicht in der MAC-Multicast-Adresse abgebildet werden können. Dadurch ist es möglich, dass ein Host MAC-Multicast-Pakete einer Multicast-Gruppe empfängt, zu der er nicht gehört. Diese Pakete werden dann von der IP-Schicht verworfen, da dort die Erkennung auf Basis der IP-Multicast-Adresse möglich ist.

Für hochverfügbare logische Router nach VRRP ist die herstellerunabhängige Kennung 00-00-5E-00-01-ID (im Bereich 00-00-5E) reserviert, wobei das letzte Byte ID für die Kennung des virtuellen Routers steht.[5] Sie bleibt gleich, selbst wenn ein anderer Router den Dienst übernimmt.

Stolperfalle: Kennzeichnung „PRIVATE“[Bearbeiten]

Die Herstellerkennungen, die – wie zum Beispiel AC-DE-48[6] – in der OUI-Datenbank als „PRIVATE“ gekennzeichnet wurden, sind für Firmen registriert, die ihre Identität nicht öffentlich preisgeben wollen. Adressen aus diesen Bereichen können daher nicht, wie man vermuten würde, für lokale Zwecke eingesetzt werden. (Für lokale Zwecke wird das unter „Vergabestelle“ beschriebene „U/L address bit“ verwendet.)

Ermitteln und Vergabe einer MAC-Adresse[Bearbeiten]

Häufig steht die MAC-Adresse, zum Teil in der Seriennummer integriert, auf der Netzwerkkarte. Daneben kann man sie per Software auslesen. Je nach Betriebssystem sind hierzu verschiedene Befehle in der Kommandozeile oder über die graphische Benutzeroberfläche nötig. Es gibt aber auch diverse zusätzliche Programme, die diese Aufgaben vereinfachen können.

Betriebssystem Auslesen (im eigenen System) Auslesen (in einem fremden System) Vergabe
AROS ifconfig -a
AIX netstat -ia
Android Einstellungen → Telefoninfo → Hardware-Informationen
bada Einstellungen → Telefoninfo → Systeminfo
FreeBSD ifconfig -a ifconfig <Interface> link <MAC-Adresse>
HP-UX lanscan lanadmin -A 0x<MAC-Adresse>
Apple iOS Einstellungen → Allgemein → Info → Wi-Fi-Adresse offiziell nicht möglich
IOS (Cisco) show interfaces configure
interface <type> <number>
mac-address <H.H.H>
end
IRIX netstat -ia ifconfig <Interface> ether <MAC-Adresse>
Linux ip link ip neigh ip link set dev <Interface> addr <MAC-Adresse>

Es geht auch mit dem ifconfig-Kommando, und bei einigen Netzwerkkarten funktioniert es nur im Promiscuous Mode richtig, also

ifconfig <Interface> promisc

Anschließend:

ifconfig <Interface> hw ether <MAC-Adresse>

Mac OS X ifconfig
arp -a ifconfig <Interface> ether <MAC-Adresse>
oder:

ifconfig <Interface> lladdr <MAC-Adresse>
oder: /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport --mac=<MAC-Adresse>
für AirPort Extreme (802.11n) WLAN
(beide Methoden funktionieren nicht für alle Modelle)
für Leopard (OS X 10.5) /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig <dev> lladdr <MAC-Adresse>

NetBSD ifconfig -a ifconfig <Interface> link <MAC-Adresse> activate
NeXTStep ifconfig -a
Nokia S60 *#MAC0WLAN#  (als Vanity-Code) oder

*#62209526#
(im Standby-Bildschirm bzw. in der Rufnummernwahl eingeben) [7]

OpenBSD ifconfig -a arp -a ifconfig <Interface> lladdr <MAC-Adresse>
OpenVMS tcpip show interface /full tcpip show arp
OS/2 netstat -n über LAPS/MPTS
SCO Unix ndstat
Solaris ifconfig -a
(man muss als root eingeloggt sein, ansonsten wird die MAC-Adresse nicht angezeigt)
ifconfig <Interface> ether <MAC-Adresse>
Tru64 UNIX netstat -ia
Windows[8][9]
95, 98, ME
winipcfg
2000, XP, Vista, 7
Startmenü/Ausführen: Eingabe des Befehls „cmd“, im schwarzen Fenster, das sich öffnet, Eingabe des Befehls ipconfig /all; die gesuchte Kennung ist dann in der Zeile „Physikalische Adresse“ zu finden.
mit XP Professional Edition und Nachfolgern
getmac /v (Aneinanderreihung aller MAC-Adressen (z.B. Funk und Kabel))
  1. ping <IP-Adresse>
  2. arp -a
mit XP Professional Edition auch
getmac /s <IP-Adresse/Name>
unter Vista Home (64-bit) und höher funktioniert es ebenfalls, Details über
getmac /?
in der Windows-Registrierungsdatenbank[10][11]
  1. regedit
  2. 95, 98, ME
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net
    2000, XP
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
  3. (xxxx) (Passenden Schlüssel z. B. anhand von Unterschlüssel DriverDesc heraussuchen)
  4. MAC-Adresse ohne Trennzeichen in den (neuen) Zeichenfolge-Schlüssel NetworkAddress eintragen
  5. 95, 98, ME
    System neustarten
    2000, XP
    Netzwerkverbindung neustarten
in der Systemsteuerung
Manche Gerätetreiber ermöglichen es, die MAC-Adresse über die Hardware-Eigenschaften (Gerätemanager) zu verändern.
Windows Mobile 5.0 (Pocket PC)
Start → Einstellungen → Verbindungen → Drahtlos-LAN → Erweitert
Windows Phone 7 (Ab Version 7.0.7389.0)
Einstellungen → Info → Weitere Informationen

Erwerb eines eigenen MAC-Adressraumes[Bearbeiten]

Auf einer Webseite des IEEE[12] können Preise für die Registrierung eigener MAC-Adressbereiche eingesehen werden. Für einen eigenen OUI werden 1885, für einen IAB 645 US-Dollar verlangt. Für jährlich 2260 US-Dollar zusätzlich (bzw. 1130 bei IAB-Registrierung) kann man diesen Adressbereich auch geheim halten. Anderen ist dann der eigene Adressbereich nicht bekannt; man wird weder in der OUI- noch in der IAB-Datenbank eingetragen.

Weitere Verwendung[Bearbeiten]

Häufig wird die MAC-Adresse als Zugangsschutz (MAC-Filter) für LANs und WLANs verwendet. Wegen der leichten Änderungsmöglichkeit von MAC-Adressen bietet ein MAC-Filter nur schwachen Schutz und kann leicht durch sogenanntes MAC-Spoofing ausgehebelt werden.

Einzelnachweise[Bearbeiten]

  1. http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml VTP reference
  2. http://www.comconsult-research.de/de/texte/ASA-Probe.pdf Aktuelle Netzwerkstandards
  3. Std 802-2001 – IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture (Englisch) IEEE (The Institute of Electrical and Electronics Engineers, Inc.). S. 21. 7. Februar 2002. Abgerufen am 9. Juli 2010: „The Universally or Locally administered (U/L) address bit is the bit of octet 0 adjacent to the I/G address bit. This bit indicates whether the address has been assigned by a local or universal administrator. Universally administered addresses have this bit set to 0. If this bit is set to 1, the entire address (i.e., 48 bits) has been locally administered.“
  4. Online-Abfrage der Herstellerkennungen in der OUI-Datenbank bei der IEEE (englisch)
  5. RFC 3768 Virtual Router Redundancy Protocol (VRRP). Abschnitt „7.3. Virtual Router MAC Address“
  6. „Public OUI listing“ des IEEE
  7. Nokia.com-Forum: How to get MAC address of a WLAN device
  8. MicrosoftTechNet: Verwendung von „Winipcfg“ zum Einsehen von TCP/IP-Einstellungen
  9. MicrosoftTechNet: Command-line reference A-Z (englisch)
  10. fics.ro: MAC Address Spoofing for Windows 98/ME (englisch)
  11. libe.net: MAC Address Spoofing für Windows 2000/XP
  12. Preisliste des IEEE (englisch)

Weblinks[Bearbeiten]