API für MAC-Adressen Hersteller

In Computer und Netzwerk | Erstellt: 01.02.2015, 12:25 | Editiert: 25.10.2018, 17:32 (URL neu, wieder aktiviert) | 3.290 mal angesehen | Seite drucken

Aktualisiert am 18.10.2018: Der Dienst ist wieder online unter https://api.onderka.com/mac/

Zum Nachschlagen der "Vendor Information" von MAC-Adressen gibt es schon einige Seiten (coffer.com, IEEE.org selbst), aber hier eine kleine Hilfe-Seite mit lokalem Cache und Online-API zur Verwendung in eigenen Projekten.

Die Seite benutzt eine täglich aktualisierte lokale Kopie der IEEE-Datenbank (Textformat, aktuell ca. 3,8MB) sowie ein lokales Cache für das eventuell bereits abgefragte Hersteller-Prefix: Die bereinigten ersten 6 Hex-Digits, z.B. 0090a0 plus den Hersteller-Namen.

Die Abfrage erfordert einen String, der mit oder ohne Trennzeichen mindestens die ersten 6 Hex-Bytes einer "canonical" MAC-Adresse (OUI) enthält und erfolgt dreistufig: Wird 1) im lokalen Cache und 2) in der kompletten lokalen Datenbank kein Ergebnis gefunden, wird 3) die IEEE-Datenbank online abgefragt. Gibt auch diese kein Ergebnis zurück, wird die Eingabe als "unknown" betrachtet.

URLs

  • https://api.onderka.com/mac/ – Webseite
  • https://api.onderka.com/mac/api/MA:CA:DR[:ES:SE:XY] – Plaintext-Ausgabe, nur Hersteller-Name
  • https://api.onderka.com/mac/api/MA:CA:DR[:ES:SE:XY]/txt – Plaintext-Ausgabe
  • https://api.onderka.com/mac/api/MA:CA:DR[:ES:SE:XY]/json – JSON-Ausgabe
  • https://api.onderka.com/mac/api/MA:CA:DR[:ES:SE:XY]/xml – XML-Ausgabe

Die Seite für Browser findet sich unter https://api.onderka.com/mac/. Einige Informationen zur DB und dem Cache erhält man mit https://api.onderka.com/mac/?showcache

HTTP-Header

Die API unter /api/ liefert folgende HTTP-Header

  • X-API-Description: https://www.onderka.com/computer-und-netzwerk/api-fuer-mac-adressen-hersteller/ – Link zur Doku (diese Seite)
  • X-Frame-Options: SAMEORIGIN – Kein Einbetten in frame, iframe und object.
  • X-XSS-Protection: 1; mode=block – Ähnliches für IE ab Version 8.0

Beispiel Plaintext

https://api.onderka.com/mac/api/00:0a:95:9d:68:16 (Content-Type text/plain)

Apple

Beispiel TXT

https://api.onderka.com/mac/api/00:50:56:00:00:00/txt (Content-Type text/plain)

cleaned=005056000000
printable=00:50:56:00:00:00
valid=true
valid_vendor=true
vendor_prefix=005056
vendor_cached=true
vendor_name=VMware, Inc.
vendor_google=https://www.google.com/#q=VMware%2C+Inc.
timestamp=2015-02-05_14:45:55_CET

Beispiel XML

https://api.onderka.com/mac/api/00:0a:95:9d:68:16/xml (Content-Type text/xml)

<?xml version='1.0' encoding='utf-8'?>
<macaddress>
   <supplied>00:0a:95:9d:68:16</supplied>
   <cleaned>000a959d6816</cleaned>
   <printable>00:0A:95:9D:68:16</printable>
   <valid>true</valid>
   <valid_vendor>true</valid_vendor>
   <vendor_prefix>000a95</vendor_prefix>
   <vendor_cached>true</vendor_cached>
   <vendor_name>Apple</vendor_name>
   <vendor_google>https://www.google.com/#q=Apple</vendor_google>
   <timestamp>2015-02-05_14:45:55_CET</timestamp>
</macaddress>

Beispiel JSON

https://api.onderka.com/mac/api/00-09-12/json (Content-Type application/json)

[
   {
      "supplied":"000912",
      "cleaned":"000912",
      "printable":"00:09:12",
      "valid":"false",
      "valid_vendor":"true",
      "vendor_prefix":"000912",
      "vendor_cached":"true",
      "vendor_name":"CISCO SYSTEMS, INC.",
      "vendor_google":"https://www.google.com/#q=CISCO+SYSTEMS%2C+INC.",
      "timestamp":"2015-02-05_14:45:56_CET"
   }
]

Referenz

Alle Ausgaben außer der "Nur Hersteller"-Version verwenden folgende Elemente/Entities:

  • supplied – Wie übergeben
  • cleaned – Ohne nicht-Hex-Zeichen, lowercase
  • printable – Formatiert mit 2er-Blöcken, uppercase und ":" als Trennzeichen
  • validtrue bei kompletter, gültiger MAC-Adresse, sonst false
  • valid_vendortrue bei gültigen (mindestens) 6 Hex-Byte, sonst false
  • vendor_prefix – Die ersten 6 Hex-Byte, ohne nicht-Hex-Zeichen, lowercase
  • vendor_cachedtrue wenn im lokalen Cache gefunden, sonst false
  • vendor_name – Name des Herstellers aus der DB
  • vendor_google – Link zu einer Google-Suche des Herstellers, wenn bekannt. Sonst leer.
  • timestamp – Ein Timestamp im Format Y-m-d_H:i:s_T

Viel Spaß damit!

Weitere Seiten in 'Computer und Netzwerk'

Schreibe einen Kommentar

Captcha * Time limit is exhausted. Please reload CAPTCHA.