[an error occurred while processing this directive]

Как избавиться от телнета на модемах для сети СТРИМ
Не все знают, что в некоторых модемах, которые в свое время предлагала компания
Точка.ру (СТРИМ) установлен 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. Первый процесс всегда серверный, что сильно упрощает работу.
 
17.12.2009 , Автор: BlackRu
Ключи: modem, shell, telnet / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Shell / Готовые скрипты

[an error occurred while processing this directive]

[an error occurred while processing this directive]