Инструмент командной строки для получения информации о поставщике OUI по MAC-адресу?

Если мы использовали gnused (по умолчанию в Linux и многих других, и доступно для всех)

sed -zri  's/([^\n]\n)(pattern)/\1\n\2/g' file

где

  • ([^ \ n] \ n) (шаблон) шаблон после непустого строка
  • -z разделите «строки» нулевым символом (пропустите файл)
  • -r , чтобы иметь расширенные регулярные выражения
13
11.12.2015, 15:14
3 ответа

Вы можете получить фактического поставщика, отправив запрос с помощью чего-то вроде CURL к этому API:

curl -XGET "https://api.macaddress.io/v1?apiKey=at_2d31hlNQAO1PXZVTecL6yoVAxI8IW&output=vendor&search=bc:f1:f2:12:b4:93"

ИЛИ

wget -qO- "https://api.macaddress.io/v1?apiKey=at_2d31hlNQAO1PXZVTecL6yoVAxI8IW&output=vendor&search=bc:f1:f2:12:b4:93"

Для перечисленных неизвестных MAC-адресов были возвращены следующие результаты:

bc:f1:f2:12:b4:93 -> Cisco Systems, Inc
f0:db:e2:de:11:80 -> Apple, Inc
d8:61:94:e5:0b:1d -> Objetivos y Sevicios de Valor Añadido
84:11:9e:2b:1c:d6 -> Samsung Electronics Co, Ltd
ec:1f:72:5d:42:d0 -> Samsung Electro-Mechanics(Thailand)
44:d9:e7:0a:0b:98 -> Ubiquiti Networks Inc

Чтобы использовать эту службу, вам необходимо получить APIKey, который предоставляется бесплатно, если у вас менее 1000 запросов в день.

1
27.01.2020, 19:53

Cross -Полностью автоматизированное решение дистрибутива:

Следующий сценарий автоматизирует процесс и работает во всех дистрибутивах Linux, поскольку он не зависит от специализированных пакетов. Он просто анализирует вывод команды ip, изолирует вендорскую часть mac-адреса в переменную, которая, наконец,grepобрабатывается через онлайновую базу данных префиксов вендоров.

#!/bin/bash

OUI=$(ip addr list|grep -w 'link'|awk '{print $2}'|grep -P '^(?!00:00:00)'| grep -P '^(?!fe80)' | tr -d ':' | head -c 6)

curl -sS "http://standards-oui.ieee.org/oui.txt" | grep -i "$OUI" | cut -d')' -f2 | tr -d '\t'

Проявив немного творчества, вы можете адаптировать это для удаленного выполнения через ssh. Я видел и другие предложения по идентификации сведений о поставщике с помощью dmidecodeдля снятия отпечатков ОС, но при тестировании получил противоречивые результаты с этим инструментом. На Raspberry Pi dmidecodeполностью не работает. ХТХ-

3
27.01.2020, 19:53
#!/bin/bash

arp -an | egrep -v incomplete | while read line ; do mac=$( echo $line | awk -F' ' '{print $4}' | sed 's/:/-/g' | tr "[:lower:]" "[:upper:]" | cut -c 1-8 ) ; vendor=$( egrep "$mac" /usr/share/hwdata/oui.txt ) ; echo "$line : $vendor" ; done

Выход:

? (192.168.88.36) at 60:03:08:a8:4e:86 [ether]  on eth0 : 60-03-08   (hex)              Apple, Inc.
? (192.168.88.38) at d8:8f:76:6f:59:0a [ether]  on eth0 : D8-8F-76   (hex)              Apple, Inc.
-2
27.01.2020, 19:53

Теги

Похожие вопросы