Некоторые точки беспроводного доступа действуют немного странно, поэтому я хочу перезагружать их каждые пару часов. К счастью, существует уязвимость безопасности, которая позволяет мне входить в систему как root через telnet при использовании порта 1111 (без имени пользователя и пароля).
Теперь я хочу использовать это, чтобы позволить моему сетевому хранилищу QNAP выполнять reboot
команда через telnet то и дело. Однако проблема в том, что эта версия telnet не дает никакого ответа, если я подключаюсь к точке доступа. Телнет, который я использую на OSX, работает нормально, а вот тот, что на NAS, - нет.
BusyBox v1.01 (2012.06.14-18:35+0000) multi-call binary
Usage: telnet [-a] [-l USER] HOST [PORT]
Когда я выполняю telnet <HOST> 1111
Ничего не произошло. Я могу отправить escape-символ ^]
что дает мне следующие возможности:
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 вообще отказывается подключаться, и его необходимо перезагрузить вручную (похоже, сеанс telnet не завершается должным образом на AP).
Итак, вопрос в том, какие команды мне следует выполнить, чтобы установить связь с точкой доступа, используя telnet-версию QNAP для Busybox?
(Нет, к сожалению, не могу использовать ssh)
Это связано с путаницей некоторых переводов строки и возврата каретки.
Я установил netcat
на QNAP через IPKG
чтобы получить лучший отзыв:
ipkg install netcat
И использовал это для подключения к точке доступа и повторения команд с помощью \r\n
(sleep 1; echo -e "system id\r\n";) | nc -q 5 192.168.1.6 1111