Единично търсене
Връща производителя по MAC адрес или OUI. Приема всякакъв формат — с двоеточия, тирета или без разделители.
GET
/api/{MAC}
GET
/api.php?mac={MAC}
mac задължителен — MAC адрес или OUI (6 или 12 hex символа)format=text по избор — връща само текст, без JSONПримери:
# JSON отговор curl https://mac.techbg.net/api/D0:21:F9:5B:65:CD # Само текст (за shell скриптове) curl "https://mac.techbg.net/api.php?mac=D021F9&format=text"
JSON отговор:
{
"oui": "D0:21:F9",
"vendor": "Ubiquiti Inc",
"source": "local",
"found": true
}
Групово търсене (batch)
До 150 OUI-та в една заявка — разделени със запетая. Отговорът е plain-text, оптимизиран за MikroTik скриптове.
GET
/api/batch/{OUI1,OUI2,...}
GET
/api.php?macs={OUI1,OUI2,...}
macs задължителен — списък от OUI/MAC-ове, разделени с ,sort=vendor по избор — сортира резултата по производителПример:
curl https://mac.techbg.net/api/batch/D021F9,9C056D,8CE748
Отговор (plain-text):
D021F9~Ubiquiti Inc;9C056D~Ubiquiti Inc;8CE748~Hangzhou Hikvision Digital Technology Co.,Ltd.;
Форматът
OUI~Vendor; се парсва директно в RouterOS без допълнителни зависимости.Приемани формати
API нормализира автоматично — не е нужно специфичен формат на входа.
| Вход | Описание |
|---|---|
D0:21:F9:5B:65:CD | пълен MAC, двоеточия |
D0-21-F9-5B-65-CD | пълен MAC, тирета |
D021F95B65CD | пълен MAC, без разделители |
D0:21:F9 | само OUI, двоеточия |
D021F9 | само OUI, без разделители |
Полета в JSON отговора:
| Поле | Стойност |
|---|---|
oui | нормализиран OUI (AA:BB:CC) |
vendor | производител или Unknown |
source | local / remote / unknown |
found | true / false |
MikroTik RouterOS примери
Единично търсене на вендор по MAC адрес:
:local mac "D0:21:F9:5B:65:CD"
:local oui ([:pick $mac 0 2] . [:pick $mac 3 5] . [:pick $mac 6 8])
:local r [/tool fetch url=("https://mac.techbg.net/api/batch/" . $oui) \
output=user as-value]
:local vendor [:pick ($r->"data") 7 [:find ($r->"data") ";"]]
:log info ("Vendor: " . $vendor)
Batch за цялата мрежа (от ARP таблица):
:local ol ""
:foreach e in=[/ip arp find] do={
:local m [/ip arp get $e mac-address]
:local o ([:pick $m 0 2] . [:pick $m 3 5] . [:pick $m 6 8])
:if ([:find $ol $o] < 0) do={
:if ($ol != "") do={ :set ol ($ol . ",") }
:set ol ($ol . $o)
}
}
:local r [/tool fetch url=("https://mac.techbg.net/api/batch/" . $ol) \
output=user as-value]
:log info ($r->"data")
Само текст (format=text) за прост shell:
vendor=$(curl -s "https://mac.techbg.net/api.php?mac=D021F9&format=text") echo "Vendor: $vendor"
Лимити и кеш:
batch — до 150 OUI на заявка ·
непознат OUI се кешира за 30 дни ·
няма rate-limit за вътрешна употреба ·
CORS
* (достъпен от браузър)