「MACアドレスからベンダーを検索して表示するコマンド」を探してみたのですけど案外見当たらない。こうなったらベンダーリストをIEEEのページからダウンロードして使うしか無いか、と思っていたら、こんなのを見つけました。
API | The simplest MAC Vendor Lookup API | MACVendors.com
をこでコレを使うスクリプトを書いてみることにします。なおAPIの利用回数等の制限事項は確認の上でご利用ください。
root@OpenWrt:~# cat macaddr2vendor.sh #!/bin/sh while [ $# -gt 0 ]; do echo -n "$1=" curl "http://api.macvendors.com/$1" echo "" shift sleep 1 done root@OpenWrt:~# ./macaddr2vendor.sh d8:30:62:00:00:00 80:e6:50:00:00:00 58:b0:35:00:00:00 FC-A1-3E-2A-1C-33 d8:30:62:00:00:00=APPLE, INC. 80:e6:50:00:00:00=APPLE, INC. 58:b0:35:00:00:00=APPLE, INC. FC-A1-3E-2A-1C-33=SAMSUNG ELECTRONICS
これで色々はかどります。
こういう検索は以下のようなコマンドで得られる結果に対して用いるケースが多いと思うので、わざわざウェブで検索するよりはコマンドラインでイケるほうが便利だと思うんですよね。
さて、ここまで作っておいてアレですが、最終的には「MACアドレスをベンダー名に単純変換するフィルタ」を sed で書いたほうがよいのかもしれないと思っています。そうすればログ等をパイプ渡しするだけでベンダーコードをベンダー名に変換できます。そして、その sed のスクリプトをベンダーコード一覧のファイルから自動で生成する処理を作っておけばなおよいわけですね。これを定期的に cron 経由で実行してフィルタをアップデートしたら、常に最新のフィルタが使える、というわけです。
よし、そのうち作ろう。
実際に作ってみたのがこちらです。
pslabo.hatenablog.com
しかし、sedのフィルタは巨大すぎてOpenWRTやLEDEで扱いづらかったので、別の方法でフィルタを実装してみました。
pslabo.hatenablog.com