onderka.com

API für MAC-Adressen Hersteller

Diese Seite wurde vor mehr als 2 Jahren erstellt und vor über einem Monat zuletzt bearbeitet. Der Inhalt hat eventuell längst sein Mindesthaltbarkeitsdatum überschritten!

Eine API zum Nachschlagen der Hersteller-Informationen für MAC-Adressen

Zum Erhalten der "Vendor Information" von MAC-Adressen, also dem registrierten Hersteller, gibt es schon einige Seiten (coffer.com, IEEE.org selbst), aber hier eine kleine Hilfe-Seite mit lokalem Cache und 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 zuvor abgefragte Hersteller-Prefix im Format

0090a0 Hersteller-Name

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:

  • Suche im lokalen Cache - Am schnellsten
  • Suche in der lokalen Datenbank - Etwas langsamer
  • HTTP-Abfrage der IEEE-Datenbank - Langsam

Gibt auch diese letzte Abfrage 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 Datenbank und dem Cache-Status erhält man mit https://api.onderka.com/mac/?showcache

HTTP-Header

Ein Request an /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-Format

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

Apple

Beispiel Text-Format

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-Format

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-Format

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

{
   "supplied":"00-09-12",
   "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":"2020-03-30_07:17:55_CEST"
}

Referenz

Alle Ausgaben ausser der einfachen 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ültigem Vendor-Part (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!

31 andere Seiten unter 'Computer und Netzwerk'