Пишем IRC бота под винды или азы IRC протокола - Programming <!--%IFTH1%0%-->- Articles<!--%IFEN1%0%--> - Каталог статей - V . S . I . S ( Volgograd site on information safety )
Понедельник, 06.09.2010, 15:18
Приветствую Вас USER | RSS
Главная
Регистрация
Вход
Меню сайта

Категории каталога
breaking and research of programs [12]
Programming [37]
Cryptography and enciphering [2]
Breaking and protection [2]
Networks and reports [0]
Windows vs Unix [1]
About the Internet programs [0]
the Miscellaneous [0]
Lessons on programming [0]
freaking [1]
carding [1]
to beginners [10]

Мини-чат
200

Наш опрос
Оцените проект
Всего ответов: 28

Главная » Статьи » Articles » Programming [ Добавить статью ]

Пишем IRC бота под винды или азы IRC протокола

Не для кого не является секретом что так называемые IRC боты вещь полезная во всех отношениях , начиная от поддержания работоспособности канала, до распределенных DoS атак и т.д. Существует куча всевозможных ботов под *nix , которые можно скачать настроить и запустить со спертого у товарища Unix Shell'а . Однако не всегда существует возможность докопаться до Unix Shell'a да и если честно несколько километровый конфигурационный файл от того же EggDrop пугает. Выход из слажившейся есть практически всегда. К примеру если вас все таки не пугает конфигурять EggDrop можете скачать его и в версии под винду. Сейчас же я раскажу свой собственный вариант решения поставленной задачи , может этот вариант и немного посложнее первого , но заодно и Experience повышу. Речь пойдет о написании IRC бота под всеми ненависные форточки (хотя по моему скромному мнению если руки кривые *nix не поможет).
Ну программирование это дело второстепенное, каждый пишет как хочет и на чем хочет. Как известно ( может и нет ) для написания какого либо приложения для интернет можно пойти двумя путями:

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

Выберем второй путь, заодно и повысим Experience (к сожалению нельза повысить свой программерский/хакерский exp. пойдя наулицу с ломом и замочив пару тройку мимо проходящих бабушек). Для того что бы разобраться во всей этой мешанине можно пойти двумя способами. Первый скачать документацию по IRC протоколу из интернета. Второй - применение подручных софтварных продуктов.

Итак нам понадобится:
1) IRC сервер под винды (любой самый простенький)
2) IRC клиент (типа MIRC)
3) Более менее прямые руки и листик с карандошом.
4) Ну и какой нибуть компилятор (Си,Дэльфи,Asm:)

Скачав все это а это минимальный необходимый пакет для создания (отладки) программы ставим все это на винт.v Запускаем сервер. Запускаем MIRC. В коммандной строке MIRC вводим следующее:
/debug ON
/server localhost
После чего происходит соединение с вашим собственным IRC сервером. Первая строка служит как раз для целей изучения протокола IRC, при работе вашего MIRC будет создаваться файл в именем debug.log . Там вы можете посмотреть команды IRC которые будут соответствовать вашим действиям. Ну и вперед ! Запускаете второй клиент и коннектитесь туда же с другим именем. И эмулируете беседу (войну) двух человечков на IRC канале/сервере. После чего лезите в тот самый debug.log
При соединении с IRC сервером:v
NICK mam0nt
USER none "" "localhost" :nonev
:csa.bu.edu 001 mam0nt :Welcome to the Internet Relay Network mam0nt!none@mam0nt
:csa.bu.edu 002 mam0nt :Your host is csa.bu.edu, running version 2.9.5
:csa.bu.edu 003 mam0nt :This server was created Fri Feb 27 at 07:46:00 1998
:csa.bu.edu 004 mam0nt csa.bu.edu 2.9.5 oirw abiklmnopqst
:csa.bu.edu 251 mam0nt :There are 0 users and 0 services on 1 servers
:csa.bu.edu 253 mam0nt 1 :unknown connections
:csa.bu.edu 254 mam0nt 10 :channels formed
:csa.bu.edu 255 mam0nt :I have 0 clients, 0 services and 0 servers
:csa.bu.edu 422 mam0nt :MOTD File is missing

От сюда видно что при соединении с сервером типа csa.bu.edu первым делом необходимо послать серверу 2 строки.
NICK
USER none localhost localhost :My Bot
- ваш nick на IRC. После этой строки сервер может прислать сроку типа nick уже используется. Служебные строки можно и нужно распозновать по цифирке после имени сервера. Все эти номера можно найти в документе под именем RFC1459 (только не пытайтесь искать его на нашем сервере).
Второй строкой можно послать выше приведенную. На серверах без всяких ident и т.д. это работает и для вас особой роли не играет.
Ну а дальше понеслась:
JOIN #volyn
:mam0nt!none@mam0nt JOIN :#volyn
Зашли на канал #volyn.
MODE #volyn
NOTICE []mam0nt :12Welcome to official [volyn] Chanel1 []mam0nt !
:efnet.cs.hut.fi 353 []mam0nt @ #volyn :[]mam0nt @FAPSI @s3curity @n3tninja @c0r3
:efnet.cs.hut.fi 366 []mam0nt #volyn :End of /NAMES list.
Командой MODE , где - название канала можно узнать TOPIC канала и список пользователей на канале. Скажу сразу что с помощью этой команды можно много чего интересного делать это лишь минимальное применение.
Ну и так далее :
PRIVMSG #volyn :Ну че сегодня нажремся ?
Отправляет сообщение на канал.
PRIVMSG #ac[id] :Точно нажремся !
Или человечку с именем ac[id] :)
Yrpo3a!unsecured@195.68.174.159 PRIVMSG #volyn :-- mam0nt =)) opme
Вот так выгледит строка пришедшая на канал от человека.
NB: - Самое главное !!!! Что бы ваш бот не слетал с сервера необродимо на пришедшую строку типа :
PING :efnet.cs.hut.fi
Послать обратно:
PONG :efnet.cs.hut.fi

Ну вот самое основное рассказал. Далее дерзайте САМИ и еще раз говорю САМИ потому как все нюансы вам не расскажет НИ КТО. Мы только даем вам пищу для дальнейших размышлений !

Категория: Programming | Добавил: ^KeRnEl^ (06.08.2008)
Просмотров: 155 | Рейтинг: 0.0/0 |
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
E-mail:
Пароль:

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


V . S . I . S ( Volgograd Site on Information Safety ) © 2010
Хостинг от uCoz