ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Пишем IRC бота на PHP (https://forum.antichat.xyz/showthread.php?t=320059)

piupiu 21.02.2012 07:48


Сегодня я расскажу о создании IRC (Internet Relay Chat) бота на php, для небольшого флуда и баловства на каналах Руснета

Для коннекта мы будем использовать сокеты

Вот собственно и весь скрипт рабочего очень простого бота:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR

Бот зайдёт на сервер irc.tom.ru, затем на канал #test и скажет на этом канале "ку нигеры"

Самое простое что только можно сделать

Рассмотрим саму специфику IRC и сокетов.

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR

Но если мы собираемся флудить нас могут забанит по нику, Userid*у и тп. (не считая ip), поэтому лучше писать рандом.

Есть ещё одна полезная штука: многие серверы (чуть менее чем все) включая Rusnet имеют функцию /mode +x (скрытие ip)

Эта фича конечно легко раскрывается (следующая статья будет посвящена открытию режимы +х в сети руснет), но некоторые опы, довольно странно на неё реагируют О_о

Код:

fputs($fp, "MODE [Ник бота] +x\n");
Вот так примерно выглядит более мощный и легче настраиваемый бот.

К его нику клиенту и UserName каждый раз приписываются случайные числа и скрыт ip.

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR

Если вам необходимо флудить конкретному юзеру, а не на на канале, используем следующий скрипт :

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR

Если вы атакуете сразу много каналов с нескольких серверов или шелов, вам понадобиться выложить .txt файл внутри которого есть название канала.

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]$kl[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'http://site.ru/kl.txt'[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR

Собственно это выглядит так:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR

Этим скриптом с 20 шеллов я флудил довольно таки не хило

Что касается именно флуда канала в IRC есть 3 способа:

1) Флуд сообщениями (бот флудит множеством сообщений на канале)

2) Флуд входами/выходами (бот выходит и снова заходит на канал )

3) флуд сменой ника (бот меняет свой ник на случайные очень часто)

Всё это реализуется довольно просто выходя из кодов которые выше --^

Вот например флуд сменой ников:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR

Есть ещё одна вещь, которую необходимо учесть. [!] Множество серверов имеют ограничение коннектов по IP адресу (3-5 коннектов с 1 ip)

Поэтому вам будет необходимо либо найти сервер у которого число этих коннектов неогранчего, либо организовать рандом.

Список серверов Rusnet*а на 20.08.2007г

Код:

irc.tomck.net - Россия, Томск
    irc.tomsk.net - Россия, Томск
    irc.tom.ru - Россия, Томск
    irc.tpu.ru - Россия, Томск
    rusnet.tomsk.ru - Россия, Томск
    irc.intertax.ru - Россия, Красноярск
    irc.siberianet.ru - Россия, Красноярск
    irc.alfa-com.ru - Россия, Красноярск
    irc.krasnet.ru - Россия, Красноярск
    irc.ixx.ru - Россия, Сосновоборск
    urengoy.rusnet.org.ru - Россия, Новый Уренгой
    irc.intersvyaz.net - Россия, Челябинск
    irc.nnov.net - Россия, Нижний Новгород
    irc.run.net - Россия, Санкт-Петербург
    irc.ventelo.de - Германия
    irc.lucky.net - Украина, Киев
    irc.seb.org.ua - Украина, Севастополь
    irc.odessa.ua - Украина, Одесса
    irc.ilyichevsk.net - Украина, Ильичевск
    irc.sevsky.net - Украина, Севастополь
    irc.tsua.net - Украина, Киев
    rusnet.sevstar.net - Украина, Севастополь
    irc.odessa.net - Украина, Одесса
    irc.alkar.net - Украина, Днепропетровск
    irc.sevcity.net - Украина,Севастополь
    irc.sev.net.ua - Украина, Севастополь
    irc.telesweet.net - Украина, Сумы
    irc.nikolaev.ua - Украина, Николаев
    irc.perm.ru - Россия, Пермь
    irc.anarxi.st - Нидерланды
    irc.spbu.ru - Россия, Санкт-Петербург
    ghost.ff.phys.spbu.ru - Россия, Санкт-Петербург
    irc.rinet.ru - Россия, Москва
    irc.kgts.ru - Россия, Казань
    irc.primorye.ru - Россия, Владивосток
    irc.mv.ru - Россия, Ульяновск
    irc.ttn.ru - Россия, Таганрог
    irc.tsure.ru - Россия, Таганрог
    irc.baikal.net - Россия, Улан-Удэ
    irc.nsib.ru - Россия, Новосибирск
    irc.caramanta.ru - Россия, Москва
    irc.glazov.net - Россия, Глазов
    irc.vernet.eu.org - Россия, Королев
    irc.chelyabinsk.ru - Россия, Челябинск
    irc.academ.org - Россия, Новосибирск
    irc.211.ru - Россия, Новосибирск
    irc.nsu.ru - Россия, Новосибирск
    irc.stv.su - Россия, Москва
    irc.tambov.ru - Россия, Тамбов

Автор - blog.thez.ru

vetta_kr 19.08.2012 06:45

Интересная статья, но есть выход по проще

NeoDroH 10.07.2013 01:58

простите за глупый вопрос, а можно на php сделать не IRC-бота а IRC-сервер ?

Chaak 10.07.2013 03:03

Цитата:

Сообщение от NeoDroH
простите за глупый вопрос, а можно на php сделать не IRC-бота а IRC-сервер ?

Можно


Время: 02:26