実行中のシステムでwakeonlanパケを聞く方法を知りたいのですが。システムが実行されている場合、システムをウェイクアップする必要がないため、私の質問が少し役に立たない場合は知っています!
nc
を使用すると、udpポートでリッスンできます。 マジックパケット は通常、ブロードキャストを介してポート9に送信されます。したがって、コマンドは次のようになります。
nc -ul 9
Ncの実装によっては、-p
フラグを指定する必要がある場合もあります。
nc -ul -p 9
テストするには、wakeonlan
コマンドを使用します。
wakeonlan <your-mac>
...そしてnc端子で出力を確認します。
もう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 、行バッファリングされます。