快节奏时代,先说答案:
MagicPack 魔术包唤醒NAS的时候,使用哪个端口都可以。 甚至不关心UDP还是TCP。
唤醒原理:
Network Interface Card(NIC),也就是网卡只是通过6个0xff 后面接16个MAC地址进行过滤的,只要符合这种格式就会唤醒电脑。
也就是说无论指定哪个端口号,都可以唤醒NAS。那为什么要端口号呢?
当网络复杂一些的时候,比如机器在局域网里(192.168.1.1),则必须指定一个端口号进行映射(端口转发 或 内网穿透,案例见文章末尾),这样公网上的远程唤醒数据包就可以顺利的发送到内网了。
进而达到直接远程唤醒NAS主机的目的。
9号端口是丢弃端口,任何发到这个端口的包都会丢弃。 远程唤醒的默认端口,建议使用这个端口。
而7号端口是兼容遗留的 Echo 端口,回显端口。 因为是广播,收到的机器都进行回复,显然不大合适。
由于Linux下低位端口号通常需要权限,所以如果用web程序唤醒机器时,注意把端口号改高些,比如端口:20009
另外如ping命令使用ICMP协议,工作在IP层, 也是不需要端口号的(虽然有伪端口,或者能够指定某个端口,这里不展开)。
远程唤醒NAS案例:
向路由器IP的20009端口发送唤醒魔术包,即可唤醒NAS服务器。