Dim*_*ims 6 wake-on-lan tcpdump wireshark
我用了
sudo tcpdump -v -i eth0 ether proto 0x0842 or udp port 9
Run Code Online (Sandbox Code Playgroud)
WakeMeOnLan
但唤醒NirSoft
计算机时没有看到任何东西。
与Wireshark
使用此命令,您可以将tcpdump的输出减少到仅尝试唤醒的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'
Run Code Online (Sandbox Code Playgroud)
这可以捕获来自etherwake
ethertype 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
Run Code Online (Sandbox Code Playgroud)
要从不同的计算机进行测试,例如:
wakeonlan 12:de:ad:be:ef:56
etherwake -i wlp2s0 -b 31:32:33:34:35:36
Run Code Online (Sandbox Code Playgroud)
要仅捕获通过 UDP 发送的数据(例如wakeonlan
命令),您可以使用不需要混杂模式的脚本:
44:55:33:11:56:66
11:22:33:66:56:af
11:be:33:ef:56:af
Run Code Online (Sandbox Code Playgroud)
while read ... echo blabla
您可以启动其他操作来代替。
维基百科对 LAN 唤醒数据包的结构有这样的说法(重点是我的):
魔术数据包是一个广播帧,其有效负载中的任何位置都包含 255 个字节中的 6 个字节(十六进制的 FF FF FF FF FF FF FF),后面跟着 16 个重复的目标计算机的 48 位 MAC 地址,总共 102 个字节。
由于魔术数据包仅扫描上面的字符串,并且实际上并未由完整协议栈解析,因此它可以作为任何网络层和传输层协议发送,尽管它通常作为 UDP 数据报发送到端口 0、7或 9,或直接通过以太网作为 EtherType 0x0842。
因此,您当前的捕获过滤器不能保证捕获所有 WOL 数据包。根据文档,WakeMeOnLan 应用程序似乎有多种方式发送 WOL 数据包,因此您可能需要进行一个简短的未过滤测试捕获,以找出应用程序发送的 WOL 数据包类型,然后相应地定制您的过滤器。
归档时间: |
|
查看次数: |
10959 次 |
最近记录: |