В системе Windows NT есть очень удобная служба обмена сообщениями. Чтобы передать какой-то текст на другой компьютер, достаточно написать в командной строке следующую команду:

NET SEND [Адрес или имя компьютера] [Текст сообщения]

Для задания адреса можно указывать как имя компьютера, так и IP-адрес. Вот примеры отправки сообщения Прикрой, я атакую!!! на IP-адрес 192.168.8.1 и компьютер с именем SuperLamer:

NET SEND 192.168.8.1 Прикрой, я атакую!!! NET SEND SuperLamer Прикрой, я атакую!1!

После выполнения команд на компьютере пользователя, которому вы посылали сообщение, появится окно с отправленным текстом (рис. 3.7).

3.7. Ошибка службы сообщений

Рис. 3.7. Окно с сообщением, отправленным командой NET Send Таким способом удобно обмениваться короткими сообщениями в локальной сети на любых расстояниях без установки дополнительного "софта".

Самое интересное в этой технологии, что она абсолютно не защищена от "бомбардировки". Вы легко можете отправить хоть сотню сообщений, и все они достигнут получателя. Мой зам. начальника очень часто доставал меня вопросами через NET SEND, потому что находился в другом здании (на расстоянии около 500 метров). Мне стали надоедать сообщения, появляющиеся с постоянной периодичностью, и я написал небольшую программу, которая "бомбила" зам. начальника ответными сообщениями. Через пять минут завязалась самая настоящая война сообщений.

Давайте напишем небольшую универсальную программу, которая будет "бомбить" любой адрес в сети. Создайте новый проект. На главную форму поместите три поля ввода и кнопку с заголовком Бомбить (рис. 3.8).

3.7. Ошибка службы сообщений

Рис. 3.8. Форма будущей программы

Поля ввода будут иметь следующие имена (свойства Name):

• edAddress - поле для ввода IP-адреса или имени машины, которую надо "бомбить";
• edSendNumber - количество отправляемых сообщений;

• edSendText - текст сообщения.

Код, который необходимо написать по событию OnCl ick для кнопки Бомбить, приведен в листинге 3.8.

Листинг 3.8. Код "бомбардировки"

procedure TNETSENDForm.bBombClick(Sender: TObject);
var
i: Integer: begin
for i := 1 to StrToIntDef(edSendNumber.Text. 1) do begin
WinExec(PChar('NET SEND '+
edAddress Text+' '+ edSendText.Text). SW_SH0W):
Sleep(lOOO):
end:
end:

Здесь запускается цикл, в котором выполняется команда NET SEND с помощью функции WinExec (эта функция запускает приложение, в данном случае команду NET SEND). Между отправками происходит задержка в 1 секунду (функция S1 еер), чтобы было хоть немного времени на закрытие появляющихся окон.

Обратите внимание, что при преобразовании строки в число мы используем функцию StrToIntDef, чтобы не возникло ошибки, если пользователь введет в количество отправляемых сообщений недопустимое значение. В этом случае будет отправлено только одно сообщение.

Если вас начали "бомбить", то первым делом советую выдернуть из компьютера сетевой шнур. После этого выберите пункт меню Пуск ► Настройка ► Панель управления ► Администрирование ► Службы, и перед вами откроется окно настройки служб (рис. 3.9).

3.7. Ошибка службы сообщений

Рис. 3.9. В Windows 2003 Server служба Messenger no умолчанию отключена

Найдите здесь службу сообщений (Messenger) и, щелкнув правой кнопкой мыши на названии, выберите в появившемся меню пункт Стоп. После этого можете возвращать кабель на место. Вы останетесь без возможности обмена сообщениями, зато никто не сможет "забомбить" ваш компьютер.

ПРИМЕЧАНИЕ

Исходный код рассмотренного здесь примера находится на компакт-диске в каталоге Sources\chOЗ\NETSeпd.

3.6. Вскрываем The ВАТ || Оглавление || 3.8. Управление свойствами окон


Delphi в шутку и всерьез: что умеют хакеры



Новости за месяц

  • Январь
    2022
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс