Wake On LANのマジックパケット(!UDP&&!Eth)


色んなマジックパケットを作って試してみた感じ、ペイロード*1の記述があれば、
受け取ったPCはマジックパケットとして認識してしまうみたい。
気になったものをメモ。

例1)不完全なイーサネットフレーム


*Ethernet?*
0x001CC0XXXXXX
0x05DD

*ペイロード*
0xFFFFFFFFFFFF
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX
0x001CC0XXXXXX


一応起動確認。でも、ちょっと不安定。



例2)ICMPに埋め込む


nao@Xubuntu:~/tools$ hexdump WOL.bin
0000000 ffff ffff ffff 1c00 XXc0 XXXX 1c00 XXc0
0000010 XXXX 1c00 XXc0 XXXX 1c00 XXc0 XXXX 1c00
0000020 XXc0 XXXX 1c00 XXc0 XXXX 1c00 XXc0 XXXX
0000030 1c00 XXc0 XXXX 1c00 XXc0 XXXX 1c00 XXc0
0000040 XXXX 1c00 XXc0 XXXX 1c00 XXc0 XXXX 1c00
0000050 XXc0 XXXX 1c00 XXc0 XXXX 1c00 XXc0 XXXX
0000060 1c00 XXc0 XXXX 1c00 XXc0 XXXX
000006c
nao@Xubuntu:~/tools$ sudo hping3 10.0.1.255 -1 -c 1 -d 102 -E WOL.bin


起動確認。
今まで、ICMPのデータ部には大して意味のない文字列しか入れたことなかったんですが、
こうやってマジックパケットペイロードとして認識されるのは、個人的に興味深かったです。
他のことにも応用できるのかも。

*1:同期シーケンス0xFFFFFFFFFFFFと起動したいPCのMACアドレスが16個