我需要能够通过程序循环我的linksys路由器,我想这样做的原因很复杂,所以让我们假设没有更好的选择。
有没有办法做到这一点?我认为这是因为当我通过管理控制台将固件更新安装到路由器时,它会循环路由器。
如果您可以在路由器的 Web 界面上找到执行此操作的功能,您可以通过合适的 HTTP 请求实现相同的功能。此外,您通常可以远程登录到路由器并通过其命令行界面重新启动它。以编程方式,您可以通过使用像expect这样的工具来实现相同的目标。
如果您可以访问路由器的本地 Web 界面,您也许可以访问路由器的“重置”功能。您可以尝试通过 http 请求调用它,例如通过 wget。但这在很大程度上取决于路由器。一些路由器还支持 SNMP 或 telnet 接口。
另一种可能性是将路由器插入可以远程控制的以太网连接的电源板。这些电源板通常内置一个简单的 http 服务器,因此您可以单独打开和关闭连接的设备。
如果是 Linksys WRT54G,我强烈推荐 DD-WRT。这是一个开源固件替代品,它内置了用于定时重启的此功能。使用 HTTP 请求以编程方式重新启动也应该很容易,因为重新启动功能可通过管理 GUI 使用。
https://github.com/danielrussellLA/restart-linksys-EA2700-router您可以尝试使用与此类似的守夜机器人通过浏览器 ui 以编程方式重新启动路由器。如果您的路由器没有您可以访问的命令行界面(通过 telnet、ssh 等),这将非常有效。这很hacky,但它完成了工作。