Не все знают, что в некоторых модемах, которые в свое время предлагала компания
Точка.ру (СТРИМ) установлен Linux,
с работающим телнетом и возможностью входа тех. поддержки.
Если мы не хоти пускать поддержку к себе - ни через
телнет, ни веб-интерфейс, делаем скрипт автоматического входа и завершения
работы telnet, чтобы был доступен только
веб-вход.
Скрипт написан с учетом работы модема ZTE ZXDSL 831 без использования expect.
На модеме не доступны многие команды, включая pkill -HUP telnetd, но доступна
команда kill - по id процесса, чего вполне достаточно. Единственным минусом
является лишь длительность выполнения скрипта из-за повторного входа, так как
выяснять, какой ID у процесса telnetd придется уже на своем компьютере,
но без лишних слов - к делу.
#!/bin/sh
(
sleep 1
echo "admin"
sleep 1
echo "123"
sleep 1
echo "sh"
sleep 1
echo "ps"
sleep 1
) | telnet 192.168.1.1 23&>/home/user/file1;
grep telnetd /home/user/file1 | awk '{ print $1 }' > /home/user/file2
cat /home/user/file2
k=$(cat /home/user/file2)
(
sleep 1
echo "admin"
sleep 1
echo "123"
sleep 1
echo "sh"
sleep 1
echo "kill $k"
sleep 1
) | telnet 192.168.1.1 23
P.S. Первый процесс всегда серверный, что сильно упрощает работу.
|