有些无线接入点有点奇怪,所以我想每隔几个小时重启一次。幸运的是,存在一个安全漏洞,让我在使用端口 1111 时通过 telnet 以 root 身份登录(无需用户名和密码)。
现在我想使用它让我的 QNAP NASreboot
不时通过 telnet 执行命令。但问题是,如果我连接到 AP,该 telnet 版本不会给出任何响应。我在 OSX 上使用的 telnet 工作正常,但在 NAS 上使用的 telnet 则不行。
BusyBox v1.01 (2012.06.14-18:35+0000) multi-call binary
Usage: telnet [-a] [-l USER] HOST [PORT]
当我执行时telnet <HOST> 1111
什么也没有发生。我可以发送转义字符^]
,它为我提供了以下选项:
Console escape. Commands are:
l go to line mode
c go to character mode
z suspend telnet
e exit telnet
这仅有的执行某些命令的方法是暂停 telnet,z
然后输入一些无法识别的随机命令。然后提示符显示以下内容:
# telnet 192.168.1.5 1111
^]
Console escape. Commands are:
l go to line mode
c go to character mode
z suspend telnet
e exit telnet
z
continuing...
asdf
Illegal command.
00>
之后,我可以与 AP 通信,但是当我退出 telnet 会话并再次尝试时,AP 根本拒绝连接,必须手动重新启动(看起来 AP 上的 telnet 会话没有正确关闭)。
所以问题是我应该执行什么命令才能使用 QNAP 的 Busybox telnet 版本与 AP 通信?
(不,遗憾的是不能使用 ssh)
答案1
这与一些换行符和回车符的混淆有关。
我netcat
通过在 QNAP 上进行安装IPKG
来获得一些更好的反馈:
ipkg install netcat
并使用它来连接到接入点并使用\r\n
(sleep 1; echo -e "system id\r\n";) | nc -q 5 192.168.1.6 1111