ssh进入Android发送WOL包

时间:2015-08-01 11:24:11

标签: android ssh wake-on-lan

我想远程唤醒我的NAS服务器WakeOnLAN,但我的路由器会阻止WOL数据包。我想我可以通过ssh进入我们的androidTV盒子,并从局域网上发送WOL数据包来规避这个问题。 我可以直接进入androidTV,但无法发送WOL数据包。 是否可以运行图形ssh会话到androidTV,然后使用Play商店中的一个WOL应用程序? 或者有什么方法可以从终端使用WakeOnLan应用程序吗?

1 个答案:

答案 0 :(得分:0)

当我试图达到同样的目的时,我已经找到了解决方案。

<强>问题: 我需要使用Wake on Lan(WoL)命令在家中远程打开我的服务器电源。为了使WoL可靠地工作,需要使用LAN内的PC来发送WoL命令,而不是远程PC。我不完全理解其原因,但它与设备断电后路由器清除ARP表缓存有关。在我们的例子中,关闭的服务器,但我们想远程打开它。有关详细信息,请参阅此处:https://serverfault.com/questions/161560/how-to-get-wake-on-lan-working/349783#349783

<强>解决方案 您可以在LAN中使用可以将WoL命令发送到已关闭电源的服务器。一种方法是使用运行SSH服务器的root用户设备。您可以使用SSH远程登录Android设备,然后发送WoL命令。

我使用的步骤

  1. 安装Android设备并确保已安装BusyBox
  2. 在Android上安装SSH服务器。 https://android.stackexchange.com/questions/9905/is-there-some-ssh-server-for-android。我用的是SSHDroid。
  3. 使用SSH远程登录Android设备。例如:ssh -p 2222 root@xxx.xxx.x.xxx
  4. 使用ether-wake -b -i wlan0 XX:XX:XX:XX:XX:XX发送WoL命令。参考:https://forum.xda-developers.com/showthread.php?t=2495288
  5. 使用此示例可以一步合并步骤3和4:ssh -p 2222 root@xxx.xxx.x.xxx "su -c ether-wake -b -i wlan0 XX:XX:XX:XX:XX:XX"
  6. 注意:

    • 以上步骤可能因设备类型而异。更新步骤适用于Android设备,但可以在非Android设备上使用相同的原则。
    • 在Android上,您无法使用wakeonlan command。您必须使用ether-wake command。这是因为BusyBox没有安装wakeonlan
    • 您必须具有sudo或root权限才能发出ether-wake命令