LAN内の機器を監視する

 LANに接続している機器のMACアドレスを記録するbashスクリプトを書いてみた。動作させている環境はUbuntu Server 12.04 LTS 64bit。

#!/bin/bash
dir="/home/username/MAC"
date=`date '+%Y%m%d'`
logfile=$date.csv
time=`date '+%H:%M'`
nmap -n xxx.xxx.xxx.xxx
IFS=$'\n'
arpout=(`arp -a | grep ":"`)
num=`expr ${#arpout[@]} - 1`
for line in `seq 0 $num`
do
mac=`echo ${arpout[$line]} | cut -d " " -f 4`
ip=`echo ${arpout[$line]} | cut -d " " -f 2 | sed s/"("//g | sed s/")"//g`
echo $time,$mac,$ip >> $dir/$logfile
done

使う場合は最低限、記録したファイルを置くための”dir”のパス、それとipアドレスの範囲を”nmap -n xxx.xxx.xxx.xxx”のとこで設定する。これを実行すると、指定したディレクトリに”20131211.csv”といった感じのファイルができて、

16:35,04:20:9a:xx;xx;xx,10.226.125.25
16:35,00:1f:5b:xx;xx;xx,10.226.125.13
16:35,34:15:9e:xx;xx;xx,10.226.125.5
16:35,00:12:e2:xx;xx;xx,10.226.125.62
16:35,00:90:cc:xx;xx;xx,10.226.125.50

という風に記録される(”xx:xx:xx”の部分は置き換えている)。つまり各行に”時刻,MACアドレス,IPアドレス”という具合だ。ARPテーブルを書き換えるにはBroadcastsにpingを打つ、と解説しているところも多いのだが、それだと記録されない機器が手元にあったのでnmapを使っている。正直、私の環境では動いているものの、全てを理解して書いているわけでは無いので、再利用性が低いかも知れないし、間違っているところがあるかも知れない。特にarp -aの出力からcsvに変換するところなどは完全に出力形式依存で、ただ単にgrepとかcutとかsedを使って整形しているだけである。

 とりあえず1ヶ月程動作させて、記録したcsvからデータを集計してブラウザで見れる仕組みまで作ったのであるが、問題なく動いている。これを使うと、LAN内にどの機器がどれだけの時間接続していたかがわかる。基本的にはネットワークに接続していた時間≒起動していた時間、なので、例えば「あぁ、NASNEは省電力モードONにしてるけど、毎日15時間くらい起動してるな」とか、そういうことが分かる。

 もちろん、侵入された場合にログとして機能することも考えられる。無線LANでのMACアドレス制限は無意味だとよく言われるが、それは制限してても突破できるというだけで、制限されてなければわざわざMACアドレスを調べてから侵入しようとはしない場合もあろうわけで、そうなればUNKNOWNなMACアドレスの機器が接続されたことに気づくことが可能である。

 ちなみに、VPNなどでルータを越えてきた機器については、ルータのMACアドレスが記録されてしまうので、集計しやすくするためにはVPNサーバーの方で割り振るIPアドレスを決めておくとかすると良いかも。

 集計やブラウザでの表示に関する仕組みは、私の気が向くか、あるいはこの投稿に反響があれば記そうと思う。

どこへ行ったのか

 以前、

2と4では全然違う | Mizukama Blog

という記事でAMDのkabiniを搭載したマザーボードについて書いたが、その後ECSからKBN-I/5200とECS KBN-I/2100が発売されたものの、ASUS、Sapphire、ASRockが展示していたらしい残りのモデルはいまだ発売されていない。日本だけ流通してないのかと思い、amazon.comでたまに検索もしていたのであるが、全然出てこない。なぜだろう。

 BTOに流れているのかと思ったが、HPとLenovo、それにMSIあたりががkabini搭載のデスクトップやノートを生産しているものの、パーツ屋がやってるようなBTOでは見ない。

 これはAMDの生産が十分でないのか、というかそもそも売れないから他のメーカーが発売しないのか。そして他のモデルが出てこないから値段が下がらないのか……。

 自宅サーバーや録画サーバーを組む購入者はそれなりにいるはずで需要はあると思うのだが‥…。

こいつ短い記事しか書いてねぇな

ASCII.jpはいたずらに記事を増やすのではなく、もう少しちゃんとした文章だけ載せる方がいい。

ASCII.jp:企業のタブレット導入、iPad vs Android vs Windows – (1)

今回は上の記事がいかに酷い記事かということを説明したいと思う。

まず私が最初にこの記事を読んだとき疑問に思ったのは、記事中で

「そこで今後、企業が導入するタブレットの機種は、iPadがAndroidやWindowsのタブレットを上回り、……」 – (1)より

と書いているのに、なぜ現状での占有率を書かないのだろうか、という点。また、

「タブレットに必要な条件として上位に挙げられたのは「長時間バッテリー駆動」(37.2%)や「情報セキュリティの対策」(36.4%)、「軽量であること」(26.3%)、「落下などに対するハードウェア堅牢性」(20%)など。パソコンとは異なり、ポータブルでの利便性が重視されていることがわかる。」 – (1)より

と書いているが、どの項目もデスクトップならともかく(「情報セキュリティの対策」はデスクトップでも関係あるし、「軽量であること」もまったく関係ないわけではないが)、ノートパソコンなら関わりのある条件であり、ノートパソコンの場合の数値が示されていないのに、タブレットがパソコンと異なるのかなど、まったく判断ができないのでは、という点。他にも、ところどころで文章が意味不明である。短い文章なのに突っ込みどころがいっぱい過ぎてどこから突っ込めばいいのか分からないくらいだ。

さて、この記事を読んでしばらく私は考えていた。「なぜあんな意味不明な記事が書かれたのだろうか?」と。そしてその疑問を解決すべく、改めて記事を読んで気がついた。

「そうか、別サイトの記事を再編集してるだけなんだ!」

(1)が「関連サイト」として挙げている、

「国内モバイル/クライアントコンピューティング機器 ビジネス利用実態調査結果を発表」 – (2)

を読んで(1)と比較するとそれがよく理解できる。はっきり言って、(2)は(1)にとって「関連サイト」などというレベルのものではなく、ほぼ唯一のソースである。(1)に書いてあることは全て(2)に書いてあるのだ。しかしまぁ、これがメーカーの発表した新製品情報、とかいうのであればこういったことは当たり前に起きる。メーカーが発表したリリース情報以外にソースが無い場合が多いからだ。(1)の記事が問題なのはここからだ。なんと、(2)のページを作っている「IT専門調査会社 IDC Japan 株式会社」は、自社の調査結果を63万円という金額で販売しており、(2)のページはその概略だけを記したものなのである。そんなページだけを見て((1)の筆者が有料版の情報を購入しているとは思えない)記事を書けば、おかしな内容の文章ができるのは当然である。

しかもたちの悪いことに、文面を多少変更する過程で余計なことをしているため、さらに文章が酷くなっている。例えば、

「今後企業がタブレットを導入する場合の必要条件は、トップが「長時間バッテリー駆動」で37.2%、続いて「情報セキュリティの対策」で36.4%となっています。ハードウェアの機能・仕様としては長時間バッテリー以外にも、「軽量であること」が26.3%、「落下などに対するハードウェア堅牢性」が20.0%で必要条件として挙げられており、ポータビリティが重要視されていることが理解されます。」 – (2)より

が元の文章であるのだが、それが、

「また、タブレットに必要な条件として上位に挙げられたのは「長時間バッテリー駆動」(37.2%)や「情報セキュリティの対策」(36.4%)、「軽量であること」(26.3%)、「落下などに対するハードウェア堅牢性」(20%)など。パソコンとは異なり、ポータブルでの利便性が重視されていることがわかる。」 – (1)より

となっている。そう、ここで「パソコンとは異なり」という根拠の無い適当な文言が付け加えられたのである。あな恐ろしや。

(2)のようなページだけをソースにして記事を書く問題はさておき、私なら(2)に書かれたデータに、(2)で書かれていない解釈を付け加えて記事にすることができる。例えば、

「IDC Japan 株式会社の発表した調査結果では、企業がタブレット機器を導入する場合、機種を選択する際の理由では、「既に導入済みであるため同一機種を入れる」がiPadの場合で31.2%とトップ、Android機の場合は「本体が安価である」(50.8%)に続く20.4%となっており、社内で端末のOSを統一することが重視されていると考えられる。またこのことは、企業が今後タブレットを導入する際に選択すると回答した割合でiPadがAndoroidタブレットやWindowsタブレットを上回った理由とも関係があると思われ、タブレット機器の分野で先行したことがAppleの優位性を保つことに寄与していると見ることができるかも知れない」

あるいは、

「IDC Japan 株式会社の発表した調査結果では、今後企業がタブレットを導入する場合の必要条件は、「長時間バッテリー駆動」が37.2%となっており、現在市場に流通しているタブレットのバッテリー駆動時間は機種によってはビジネスユーズで必ずしも充分でないと考えられる。」(*例えば、「タッチ操作の快適さ」という回答は上位に来ていないので、これはほぼ全てのタブレット機器で満たされていると考えられる)

といった具合だ。

私がちょっとソースを読んでちゃちゃと書いただけで、(1)よりもまともな文章になっていると感じるのは手前味噌だろうか。

あと、(2)のページで使われているグラフの画像には、「Note: n = 1,000」という、それはそれは大切な情報が含まれているのであるが、(1)ではご丁寧にカットされて掲載されている。

こんなクソみたいな記事を載せていては、Ascii.jpの全体的なレベルが下がるだけだ。(1)はいわゆる「まとめサイト」と同レベルかそれ以下の記事である。

GT6に対する感想など

・車の挙動
 GT5と違うのは少し走ればすぐ分かる。まだ十分走り込んだとは言えないが、感覚としては良好。

・コース
 マッターホルンは面白いが、ある程度ちゃんと走れるプレイヤーが集まらないとレースが成立しないだろう。その他の追加コースも走ってみたがなかなか良かった。

・表示
 他車の横からの接近を知らせる画面表示が追加されたのは評価できる。これがあれば、前しか見てない下手なプレイヤーでもレースの駆け引き能力が多少上がるかも知れない。

・車のカスタマイズ
 ウイング取れるようになった!あとは何故かナイトロ復活とか。タイヤのインチアップも興味深い。ただ、カスタマイズ画面での操作が慣れない所為か若干手間取る。

・オープンロビー
 ルーム名が変更できるようになったとか、予選&決勝システムの導入とか、色々評価できるが、やはり待ち時間が長いような気がする。

・難易度
 キャリアモードにPP制限が加わったのはよいが、それでも難易度が低すぎる。500PPのSSタイヤ制限レースに350PPのSHタイヤで挑んでも勝てるとかどうかしてる。あとライセンスでゴールドの難易度が下がったように思う。特に国内b級とか一発ゴールドが珍しくない。

 GT6については、GT5からあまり変わってないんじゃないかとか、PS3じゃなくてPS4で出せとか、色々ネットでも意見が出ているようだが、上に書いたように変更点も十分あるのでGTシリーズが好きな人は買って損ないと思うし、プレイヤーの数を集めるという点では、PS4でなくPS3で出したというのは意味があると思う。今の自分の状況からすれば、PS4を発売日に買うことは難しくない(予約してる)が、40000円くらいするのだから、大人であっても皆が皆、軽い気持ちで購入できるわけじゃないはずだ。まぁ読み込みをもっと早く、とか、グラフィックにもう少し精細さを、とかいう要望はPS4版が出ることで解決されるかも知れないが、別にそれで面白さが急上昇するということは考えにくい。

マンガボックスはSSL通信してる

 マンガボックスなるアプリが登場し、漫画が無料で連載されるらしい、との情報を得、早速試してみた。

ASCII.jp:DeNAが無料の「マンガボックス」創刊、金田一作者が編集長

 アプリは上の記事に書かれていたとおり、会員登録不要で読める。とりあえず、「攻殻機動隊 S. A. C.」を読んでみたが、第5世代のiPod touchで読むには十分すぎる画質で、台詞も問題なく読める。

 さて、こんなありきたりな感想を書くのがこの記事の目的ではない。もっぱらの興味は、いかにして提供されている漫画を自由に読める状態へ保存し変換するか、である。というのも、このサービスは作品を恒久的にアプリ内で読めるよう提供するものではないと考えられるからだ。あくまで連載であり、最新作のみかあるいは過去数話分に限ってアプリ内で閲覧でき、あとは単行本(or 電子書籍)を買ってね、という流れになるはずである。

 まずはiPod touchからMangaアプリを立ち上げ、普通に漫画を閲覧、その時の通信先をプロキシサーバーのログで確認してみた。

TCP_MISS/200 296863 CONNECT image-a.mangabox.me:443 – DIRECT/23.42.60.45

 「あちゃー。443ってことはSSL通信してるわ」というわけで残念、画像へのURLリストなどは入手できなさそうである。となるとあとはもうひたすら画面キャプチャするしかない。フォトストリームを使っていれば、キャプチャ画像は自動的にコンピュータの方に流れてくるだろう。iPod touchの画面は16:9だからキャプチャ画像は上下に多少空白ができるが、それはImageMagickを使ってあとから一括処理すればOKだろ。願わくばiPadでより解像度の高いキャプチャ画像を生成したいところだが……。

 ちなみに、SSL通信しているということは、サーバーの方からやってくるデータの形式が不明というだけでなく、アプリの方が端末からどんな情報をサーバーに送っているのかも不明、ということになる。