本文目录导读:

获取网络唤醒(Wake-on-LAN,WOL)设置通常需要查看网卡驱动程序的属性,方法取决于你的操作系统(Windows/Linux/macOS)。
以下是几种常见的脚本方法:
Windows (PowerShell)
Windows 下主要使用 Get-NetAdapterPowerManagement 或 Get-NetAdapterAdvancedProperty。
方法 A:查看当前唤醒状态 (最推荐)
# 获取所有网卡,并显示 Wake on LAN 相关属性 Get-NetAdapter | Get-NetAdapterPowerManagement | Select-Object Name, WakeOnLan, WakeOnMagicPacket, WakeOnPattern # 或者只查看有线网卡(通常以太网) Get-NetAdapter -Name "Ethernet*" | Get-NetAdapterPowerManagement | Select-Object Name, WakeOnLan, WakeOnMagicPacket
方法 B:查看网卡的高级属性设置 (更原始)
# 获取名为 "Ethernet" 的网卡的所有高级属性
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.RegistryKeyword -like "*Wake*" -or $_.RegistryKeyword -like "*WOL*"}
# 显示更简洁的表格
(Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.RegistryKeyword -like "*Wake*"} | Format-Table DisplayName, DisplayValue -AutoSize)
- 参数含义:
WakeOnLan:总开关(Enabled / Disabled)。WakeOnMagicPacket:是否支持魔术包唤醒(关键设置)。WakeOnPattern:是否支持特定网络模式唤醒。
方法 C:查看网卡物理地址 (MAC Address) 用于后续 WOL 发送
# 获取网卡的 MAC 地址 (Get-NetAdapter -Name "Ethernet" | Select-Object MacAddress).MacAddress
Linux (Bash)
Linux 下主要使用 ethtool 工具。
确保已安装 ethtool:
sudo apt install ethtool # Debian/Ubuntu sudo yum install ethtool # CentOS/RHEL
脚本获取当前 WOL 设置:
#!/bin/bash
# 获取网卡名称(通常是 eth0, ens33, enp0s3 等,排除 lo 回环)
INTERFACE=$(ip -o link show | awk -F': ' '{print $2}' | grep -v lo | head -n1)
echo "正在检查网卡: $INTERFACE"
# 使用 ethtool 获取 WOL 状态
ETHTOOL_OUTPUT=$(sudo ethtool $INTERFACE 2>/dev/null)
if [ $? -ne 0 ]; then
echo "错误:无法获取网卡信息,请确保 ethtool 已安装且有权限。"
exit 1
fi
# 提取 "Supports Wake-on:" 和 "Wake-on:" 行 (p 代表 magic packet)
echo "$ETHTOOL_OUTPUT" | grep -E "Supports Wake-on|Wake-on"
# 更精确地提取当前状态
WOL_STATE=$(echo "$ETHTOOL_OUTPUT" | grep "Wake-on:" | awk '{print $2}')
if [ "$WOL_STATE" == "d" ]; then
echo "当前 WOL 状态: 禁用 (Disabled)"
elif [ "$WOL_STATE" == "p" ]; then
echo "当前 WOL 状态: 启用魔术包 (Wake on Magic Packet)"
elif [ "$WOL_STATE" == "u" ]; then
echo "当前 WOL 状态: 单播 (Unicast)"
elif [ "$WOL_STATE" == "g" ]; then
echo "当前 WOL 状态: 多播 (Multicast)"
else
echo "当前 WOL 状态: $WOL_STATE"
fi
# 可选:同时获取 MAC 地址
MAC_ADDR=$(ip link show $INTERFACE | grep ether | awk '{print $2}')
echo "网卡 MAC 地址: $MAC_ADDR"
运行说明:
- 该脚本需要
sudo权限因为ethtool需要 root 权限。 - 常见输出:
Supports Wake-on: pumbg Wake-on: dd表示禁用,p表示魔术包可用(这是 WOL 需要的)。
macOS (Bash)
macOS 下的 WOL 支持通常依赖于硬件和驱动,没有像 Linux ethtool 那样统一的命令行工具,通常需要在 系统偏好设置 → 节能/电池 中手动查看。
脚本方法 (有限): 通过检查 sysctl 或 pmset 查看电源管理状态,但这通常不显示网卡级 WOL。
#!/bin/bash
echo "macOS 下无法通过简单脚本直接获取网卡 WOL 状态。"
echo "请前往: 系统偏好设置 -> 节能 -> 电源适配器"
echo "查看: '唤醒以供网络访问' 或类似选项"
# 检查系统是否支持网络唤醒(不一定准确)
if pmset -g | grep -q "womp"; then
echo "系统支持网络唤醒 (Wake on Magic Packet)"
pmset -g | grep "womp"
else
echo "系统可能不支持或未开启网络唤醒。"
fi
| 系统 | 核心命令/方法 | 关键查看点 |
|---|---|---|
| Windows | Get-NetAdapterPowerManagement (PowerShell) |
WakeOnMagicPacket = Enabled |
| Linux | ethtool 网卡名 |
Wake-on: p (p=魔术包) |
| macOS | 图形界面 (无标准 CLI) | 系统偏好设置 → 节能 |
建议:
- 如果你是要发送 WOL 包(唤醒别人),你只需要知道目标设备的 MAC 地址 和 子网广播地址,不需要获取自己电脑的 WOL 设置。
- 如果你是要设置(开启)WOL,可以参考以下命令:
- Windows:
Set-NetAdapterPowerManagement -Name "Ethernet" -WakeOnMagicPacket Enabled - Linux:
sudo ethtool -s eth0 wol g(启用魔术包)
- Windows:
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播