くろねこ日記

ソフトウェアに関する技術メモが多いです.

WakeOnLan(WOL)を試してみた。

前回の更新からしばらく経ってしまいました。
のんびりと相変わらず更新させてもらいます。

今回はWakeOnLan(WOL)の仕組みと実装について記事を書きます。

はじめに

WakeOnLanはLAN上にある別のPCに電源を入れることができる技術のことです。
最近、WOLを使ってLAN上からPCに電源投入している場面を見かけました。
これはVNCと組み合わせるとなかなか便利な方法に見えたので、早速導入してみました。

WakeOnLan(WOL)の使い方

WOLの使用にはマザーボードやネットワークカード、BIOSなどがWOLに対応している必要がありますが、最近のパソコン(4年くらい前)にはほとんどこの機能がついています。

WOLは「MagicPacket」というコマンドをLAN上から起動対象のPCに送るだけで動作します。
実はこの「MagicPacket」は何やら名称がついてますが、
ブロードキャストアドレス1個にMACアドレス16個付けてUDP送信するだけでPCが起動します。
具体例がwikiperiaにありました。
それによると
ブロードキャストアドレス:FF:FF:FF:FF:FF:FF(6byte)
起動対象PCのMACアドレス:EE:EE:EE:00:00:01(6byte)として、
FF:FF:FF:FF:FF:FF
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
EE:EE:EE:00:00:01
のように先頭にブロードキャストがあり、その後ろに16個MACアドレスが並んでいます(改行したのは見やすくするためです)。これをLAN上に流してあげるだけです。

実装版は後日公開します。