Войти через loginza
Закрыть панель

20

Авг

2010

Портфолио

Распечатать статью Разместил: spider. Рубрика Новости |

Обновил портфолио.

Выполненные работы можно посмотреть тут : http://www.bsyteam.net

 

19

Авг

2010

Автоматизация telnet, ssh и ftp сессий

Распечатать статью Разместил: spider. Рубрика Linux |

В этой статье хочу рассказать о замечательной утилите, которая значительно облегчает админскую жизнь – expect.

Дело в том, что очень часто приходится пользоваться одними и теми же командами по протоколам  telnet, ssh и ftp.

Дело за малым – автоматизировать процесс.

В этом поможет expect.

По материалам Википедии : Expect — инструмент для автоматизации и тестирования в ОС Unix, написанный Don Libes как расширение к скрипт-языку Tcl, для интерактивных приложений таких, как telnet, ftp, passwd, fsck, rlogin, tip, ssh, и других. С помощью Tk интерактивные приложения могут быть использованы с графическим интерфейсом (GUI) X11.

Там же можно посмотреть и примеры скриптов :

Простой пример скрипта, который автоматизирует сессию telnet:

Раскрыть »

######################################################################################
   #$remote_server - сервер, к которому осуществляется доступ                           #
   #$my_user_id    - имя пользователя на сервере                                        #
   #$my_password   - пароль пользователя на сервере                                     #
   #$my_command    - команда, которая будет запущена на сервере                         #
   #                                                                                    #
   # Предполагается, что $remote_server, $my_user_id, $my_password, и $my_command       #
   # были инициализированы в скрипте ранее.                                             #
   ######################################################################################
   # Открываем telnet сессию на удалённом сервере, и ждем запроса имени пользователя.
   spawn telnet $remote_server
   expect "username:"
   # Посылаем имя пользователя и ждем запроса пароля.
   send "$my_user_id\r"
   expect "password:"
   # Посылаем пароль и ждем приглашения ввода командного интерпретатора.
   send "$my_password\r"
   expect "%"<br />
   # Посылаем команду, и ждем следующего приглашения ввода командного интерпретатора.
   send "$my_command\r"
   expect "%"
   # Запоминаем результат в переменной. Он может быть отображён, или записан на диск.
   set results $expect_out(buffer)
   # Завершаем сессию telnet, и ждем символа конца строки (eof).
   send "exit\r"
   expect eof

Ещё один скрипт, который в качестве примера автоматизирует ftp-сессию:

Раскрыть »

# Открыть ftp-сессию на удалённом сервере, и ждать запроса имени пользователя.
   spawn ftp $remote_server
   expect "username:"
   # Послать имя пользователя, и ждать приглашения ввода пароля.
   send "$my_user_id\r"
   expect "password:"
   # Послать пароль, и ждать приглашения ввода ftp.
   send "$my_password\r"
   expect "ftp>"
   # Переключиться в бинарный режим, и снова ждать приглашения ввода ftp.
   send "bin\r"
   expect "ftp&gt;"
   # Выключить приглашение ввода.
   send "prompt\r"
   expect "ftp>"
   # Получить все файлы
   send "mget *\r"
   expect "ftp>"
   # Закончить ftp-сессию и ждать спецсимвол конца файла (eof).
   send "bye\r"
   expect eof

Если честно – у меня толком это так и не заработало.
Может дело в разных версиях expect.
А может в синтаксисе.
Давайте рассмотрим основные принципы работы утилиты.
Насколько я понял – все достаточно просто:

  • spawn – выполняет любую внешнюю команду.
  • expect – пишем ожидаемый от внешней команды вопрос.
  • send – а тут указываем на него ответ.

Ниже предлагаю свой скрипт автоматической заливки на ftp архива сделанного из статьи раньше про автоматическое резервирование.

Раскрыть »

#!/usr/bin/expect -f
 
set timeout 3600
log_user 1                                 # Отключаем вывод, чтобы не мешался
# Открываем ftp сессию на удаленном сервере
spawn ftp 192.168.5.8
# Дожидаемся запроса имени пользователя
expect "Name (192.168.5.8:root):"
#посылаем имя пользователя
send "user\r"
#Ждем ввода пароля
expect "Password:"
# посылаем пароль
send "password\r"
#ждем приглашения от фтп сервера
expect "ftp>"
# Посылаем файл на фтп
send "put /media/disk-1/backup/*\r"
# Завершаем сессию ftp
expect "ftp>"
send "bye\r"
expect eof

set timeout 3600 – так как стандартный таймаут 10 секунд скрипт не дожидался загрузки довольно большого архива на фтп и принудительно завершал сессию. Увеличение таймаута приведет к более долгому ожиданию и позволит загрузить файл на фтп. Величину таймаута определяйте опытным путем, например, попробуйте залить такой файл вручную и накиньте 10%.

 

18

Авг

2010

Новый ICQ вирус

Распечатать статью Разместил: spider. Рубрика уязвимости |

Сам не получал такого, скорее всего из-за того, что пользуюсь не ICQ , а интернет пейджером Trillian.

Но из разных источников начала приходить информация, что от друзей и знакомых приходит входящий файл Snatch.exe.

Это якобы игрушка.

На самом деле это программа кейлоггер (keylogger) – Trojan.Win32.Snatch.

Будьте аккуратны и не принимайте файлы от незнакомых (а от знакомых обязательно проверяйте антивирусом).

После запуска этого файла, доступ к учетной записи ICQ блокируется, а теперь с Вашего номера пойдет рассылка этого файла по всему Вашему списку контактов.

Пароль к учетной записи так же придется восстанавливать через систему утерянных паролей.

 
  • FireStats

    • Показано страниц :105193
    • Уникальных посетителей:46448
    • Показано страниц за сутки :309
    • Уникальных посетителей за сутки :176