ベストアンサー1
このコマンドを使用すると、以下を減らすことができます。TCPダンプただMACアドレス目を覚ますしようとしています。
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'
これは目覚めることを捉えます。etherwake
、エーテル型 0x0842(AMDマジックパケット形式)とwakeonlan
(UDP:9)、しかし実行するにはインターフェイスが必要です。promiscuous mode
。
この例の出力は次のとおりです。
44:55:33:11:56:66
11:22:33:66:56:af
11:be:33:ef:56:af
たとえば、別のコンピューターでテストするには、次のようにします。
wakeonlan 12:de:ad:be:ef:56
etherwake -i wlp2s0 -b 31:32:33:34:35:36
UDPを介して送信されたデータ(wakeonlan
コマンドなど)のみをキャプチャするには、無差別モードを必要としないスクリプトを使用できます。
nc -dknl -p 9 -u |
stdbuf -o0 xxd -c 6 -p |
stdbuf -o0 uniq |
stdbuf -o0 grep -v 'ffffffffffff' |
while read ; do
echo ${REPLY:0:2}:${REPLY:2:2}:${REPLY:4:2}:${REPLY:6:2}:${REPLY:8:2}:${REPLY:10:2};
done
代わりに別のタスクを開始できますwhile read ... echo blabla
。