読者です 読者をやめる 読者になる 読者になる

pslaboの日記

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

iPad3のSIMロックに関する考察とSIM下駄による解除の試みはSoftbank版iPad3にiPhone用のSIM下駄を履かせてみるにいろいろ書いてます。

ポストした内容のカテゴリー分けがちゃんと出来てないので、過去記事を探したい方はお手数ですが検索で探してみてください。


「MACアドレスからベンダーを検索して表示するコマンド」を作ってみる

bash

MACアドレスからベンダーを検索して表示するコマンド」を探してみたのですけど案外見当たらない。こうなったらベンダーリストをIEEEのページからダウンロードして使うしか無いか、と思っていたら、こんなのを見つけました。
API | The simplest MAC Vendor Lookup API | MACVendors.com

APIの呼び出し回数が1万回までなら未登録で使えるらしいので、コレを使うスクリプトを書いてみることにします。

root@OpenWrt:~# cat macaddr2vendor.sh 
#!/bin/sh

while [ $# -gt 0 ]; do
	echo -n "$1="
	curl "http://api.macvendors.com/$1"
	echo ""
	shift
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

これで色々はかどります。

こういう検索は以下のようなコマンドで得られる結果に対して用いるケースが多いと思うので、わざわざウェブで検索するよりはコマンドラインでイケるほうが便利だと思うんですよね。

  • arp の実行結果
  • dhcpradius のログ
  • OpenWRT の logread の結果


さて、ここまで作っておいてアレですが、最終的には「MACアドレスをベンダー名に単純変換するフィルタ」を sed で書いたほうがよいのかもしれないと思っています。そうすればログ等をパイプ渡しするだけでベンダーコードがベンダー名に変換できます。そして、その sedスクリプトをベンダーコード一覧のファイルから自動で生成する処理を作っておけばなおよいわけですね。これを定期的に cron 経由で実行してフィルタをアップデートしたら、常に最新のフィルタが使える、というわけです。

よし、そのうち作ろう。

実際に作ってみたのがこちらです。
pslabo.hatenablog.com