Управление компьютером с помощью SMS

    После первого топика про управление компьютером через SMS получил немало отзывов и пожеланий. Оказалось, что идея не такая уж и безумная, какой казалась на первый взгляд.
    Раз идея прижилась — выкладываю новую версию.
    Повторяться и выкладывать заново полное описание программы не буду, его можно найти в первом топике, приведу только список изменений и комментарии к некоторым из них.

    Новое:
    • Добавлена возможность передачи аргументов коммандной строки при вызове скрипта
    • Добавлено действие по умолчанию
    • Программа отбивает все входящие звонки
    Изменения:
    • Программа выводит в лог только ошибки
    Ошибки:
    • При проверке новых сообщений, в случае их отсутствия возникала незначительная утечка памяти.

    Передача аргументов коммандной строки


    Во входящем сообщении ищется первый пробел, если он обнаружен — строка сообщения разбивается на две части, первая интерпретируется как команда, вторая как аргументы коммандной строки.

    Например, есть действие, заданное в файле конфигурации:
    [123]
    script = scripts\cmd.vbs
    reply = 1
    replyTo = 7917XXXXXX
    allowedTo = 7917XXXXXX,7902YYYYYY

    Отправляем сообщение вида 123 net stop dnscache. Полученное сообщение будет разбито, 123 будет интерпретировано как идентификатор действия а net stop dnscache будет передано в скрипт в качестве аргумента коммандной строки.

    Действие по умолчанию


    Выполняется в том случае, если не найдено других действий с указанным идентификатором. Весь текст входящего SMS сообщения передается в качестве аргументов коммандной строки.
    [Default]
    script = scripts\cmd.vbs
    reply = 1
    replyTo = 7917XXXXXX
    allowedTo = 7917XXXXXX,7902YYYYYY

    Отправляем сообщение net stop dnscache, если отсутствует действие с идентификатором net будет выполнено действие Default, в качестве аргументов скрипту будет передано net stop dnscache.

    При использовании скрипта cmd.vbs, в том случае если у действия выставлен флаг reply = 1, после выполнения скрипта будет отправлено SMS сообщение, содержащее консольный вывод вызываемой комманды. Например, после выполнении net stop dnscache придет SMS с текстом

    Служба «DNS-клиент» успешно остановлена.

    Таким образом можно контролировать успешность выполнения отправленной комманды.

    Комментарии 23

      0
      Прелесть
        0
        здесь есть уезвимость «смс с подменай номера»
          0
          Шанс есть, но надо знать не только разрешенный номер, но и саму команду. Если задать идентификатор вида hwe89232dk то его будет сложно угадать :)
            0
            Не для оператора сотовой связи, только не для оператора :)
            0
            не обязательно всем знать, что некий админ управляет серваками через смс :)
            +1
            программа понравилась, единственное что не очень удобно — если пользуешься многими командами, то следует четко запоминать какой идентификатор к чем относится, конечно можно записать на листике, но когда, допустим, едешь в общественном транспорте, то не думаю что очень удобно доставать его и выискавать нужное, хотя как я понял, то можно использовать текстовые идентификаторы — это значительный плюс.
            Вобщем мне понравилось, буду пользоваться однозначно!
              0
              Да, Вы можете использовать текстовые идентификаторы, цифрами они не ограничиваются, в конфиге цифры использованы просто для примера. Плюс в новой версии вы можете использовать действие по умолчанию и отправлять текст в том виде, в котором Вы бы его вводили с командной строки.
              0
              Я как-то где-то, точно не помню где со своего N72 с помощью аськи управлял компом, в инете есть бесплатная программка, но опять же точно не помню как называется, давно это было, но из функционала помню, что можно указывать с какого номера разрешается принимать команды, конфиг примерно аналогичный, так же можно запускать любые исполняемые файлы. А на телефоне это выглядело, как номер с ником «Управление компом» и команды соответственно отправлялись с него, а исполняемые файлы могли присылать ответ о завершении команды и я сразу сделал команду help по своим командам чтобы не запоминать идентификаторы
                +1
                Есть putty под symbian. Но смски суровей :)
                  0
                  Суровее было бы запускать команды по количеству звонков. Два звонка — перезапусти сервис, три — запусти такую-то команду. Или, например, сервис снимает трубку, и управление происходит DTMF-ом :)
                    0
                    А еще суровей звонить домой и объяснять домашним по телефону, как нужно залогиниться правильно набрав параноидальный пароль, как подняться до рута, как сделать несколько ps aux | grep что же там могло упасть и tail /var/log/syslog, а потом подправить конфиг (убиться об стену, если у тебя только vi) и что-нибудь перезапустить через /etc/init.d/…
                    А все потому, что ты в другом городе, тебе срочно понадобилась домашняя машина, а провайдер «немножко» поменял настройки vpn.

                    Вот это действительно сурово. xD
                      +2
                      В предположении что жена/девушка/сестра/мама/бабушка не имеют бороды и не заправляют свитер в джинсы :)
                        0
                        Сдаюсь, суровее не придумаю.
                          0
                          Знакомо :) Помню была ситуация когда никого дома нет кроме бабушки и сестры (7 лет), я в другом городе… мне приходит смс «сервер помер»… пришлось звонить домой и просить бедного ребенка заходить на РДП, перезагружать удаленную машину, опять заходить на РДП, поднимать заново сервер… мозг чуть не вскипел тогда :)))
                          0
                          Через ventafax и обычный диалап модем можно сделать управление через голосовое меню, как в автоматических справочных сотовых операторов. Ну и плюс wake on ring для того чтобы поднимать выключенный комп. Почти не суровый вариант, с человеческим голосом и интуитивно понятным интерфейсом.
                            0
                            Где-то я читал про одного сурового немца который нечто подобное реализовал…
                          0
                          Хороший вариант. Идея с хэлпом понравилась. В принципе тоже можно реализовать help, создав действие с идентификатором help, и скрипт, который эхом выводит список команд и краткое описание.
                          +1
                          Спасибо за апдейт. Использую вашу прогу на сервере — чтобы была возможность удаленно его перезагрузить не находясь за компьютером :)
                            0
                            А Вам спасибо за такие комментарии, рад, что программа прижилась, это вдохновляет на выпуск новых версий. :)
                            0
                            Странно, антивирус выдал следующее
                            обнаружен вирус(ы) - 1
                            название тип вид движок
                            - Virus/Heuristic Worm Panda Gate Antivirus


                            Это ведь по ошибке вылезло?
                              0
                              Судя по сообщению сработала эвристика. Вирусов там нет, я Вас уверяю.
                              0
                              Управление компьютером с помощью SMS сообщений
                                0
                                Ссылки битые… У кого осталась прога или исходники большая просьба поделится.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое