web-dev-qa-db-ja.com

wakeonlanリクエストを聞く

実行中のシステムでwakeonlanパケを聞く方法を知りたいのですが。システムが実行されている場合、システムをウェイクアップする必要がないため、私の質問が少し役に立たない場合は知っています!

8
Gael

ncを使用すると、udpポートでリッスンできます。 マジックパケット は通常、ブロードキャストを介してポート9に送信されます。したがって、コマンドは次のようになります。

nc -ul 9

Ncの実装によっては、-pフラグを指定する必要がある場合もあります。

nc -ul -p 9

テストするには、wakeonlanコマンドを使用します。

wakeonlan <your-mac>

...そしてnc端子で出力を確認します。

8
chaos

もう1つの答えは、「ウェイクアップ!」でのみ機能します。UDP:9経由で着信するパケット(wakeonlanからのパケットなどであり、専用のイーサタイプ0x0842のパケット(例:etherwake)では機能しません)。

これらのウェイクアップ方法の両方のペイロードの関連部分を取得するには、次のようにします。

tcpdump -UlnXi eth0 ether proto 0x0842 or udp port 9 2>/dev/null |
sed -nE 's/^.*20:  (ffff|.... ....) (..)(..) (..)(..) (..)(..).*$/\2:\3:\4:\5:\6:\7/p'

出力は1行あたり1つ mac-address 、行バッファリングされます。

1
Alex Stragies