我安装了新的 GNU/Linux Debian 9 服务器。
这是我从中得到的ethtool
:
root@web-server:~# ethtool enp2s0
Settings for enp2s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
因此,您会看到 Magic Packet 位于 ( Wake-on: g
)。
我将这台计算机从关机状态唤醒,如下所示:
./wolcmd 00********** 192.168.0.104 255.255.255.0 7 # I've hidden the MAC address here
从 Windows 10 上的 Cygwin 使用Depicus 局域网唤醒命令行。
我不明白的是,为什么我需要指定IP地址和掩码或端口号?
为什么MAC地址不够用?有谁可以详细说明一下吗...
答案1
WoL 魔术数据包可以发送到 UDP 端口 0、7 或 9(取决于所使用的硬件),也可以作为类型 0x0842 的原始以太网数据包发送。wolcmd
选择使用前一种方法,默认端口 7。
注意wolcmd
做支持UDP广播,这意味着如果您的硬件和网络支持TCP/IP广播,您可以指定255.255.255.255作为地址和掩码。魔法数据包只会被它包含 MAC 地址的机器解释;所有其他人都会忽略它。
答案2
使用的语法为:wolcmd [mac 地址] [ip 地址] [子网掩码] [端口号 = 7]
[IP 地址] 和 [子网掩码] 用于需要通过互联网唤醒计算机的情况。 [ip 地址] 不必是编号的 IP,您可以使用命名地址或 DDNS 地址,您的 DNS 会将其转换为 IP。
我尚未确认这一点,但我猜想,如果您要唤醒本地网络上的计算机,则实际上并不需要 [ip 地址] 和 [子网掩码]。您可以将它们都设置为 255.255.255.255,它可能会起作用。
[端口号] 是可选的,可以省略,默认端口为 7。
[ip 地址] 的另一个可能的应用是告诉您的路由器在计算机唤醒并请求 DHCP 地址时将该 IP 地址分配给该 MAC 地址。这取决于路由器的智能程度以及该 IP 地址是否尚未分配。 (不确定这是否/如何通过互联网工作)。
答案3
也许它可以在互联网上使用。指定 IP 地址会将其发送到正确的路由器,然后可以从那里对其进行排序。如果计算机在本地网络上有一个静态 IP 地址,那么路由器肯定可以找到它(也许它需要比消费者路由器更高级的配置,但我可以看到该应用程序。