2012-12-17 160 views
1

我写了一个小小的java程序,在服务器(pong.java)和客户端(ping.java)之间通过TCP建立套接字连接(端口23456)。我启动服务器,然后发送ping的客户端和服务器响应pong。这发生了50次。java socket和DoS

这工作得很好,但现在我想关闭使用hping3的SYN Flood DoS攻击,但我无法让它工作。使用相同的DoS程序,我可以轻松地通过SMB停止在客户端和服务器之间运行的文件传输。服务器肯定会得到SYN包 - 当我攻击同一个端口时,Java套接字连接使用它,只是关闭了攻击,Java程序愉快地完成了50个循环。我无法弄清楚为什么。在java中有没有一些保护或在java工作套接字不同于通过SMB的TCP交换?

我这样做的网络类,我只是无法弄清楚。我只是在3个虚拟机之间攻击自己,所以没有人会受到伤害。

如果需要的话,我可以提供源代码或进一步的信息。

非常感谢,如果有人能帮助。

+1

Java没有做什么特别的,它只是使用OS套接字API – irreputable

+0

为什么你认为它不工作或我能做些什么,使工作? –

回答

2

我不知道它是否适合与否,但我写了一个服务器 - 客户端应用程序和更多的客户试图连接。只要我使用Sun JRE,它就可以工作。使用OpenJava时,我无法使其工作 - 只有第一个连接的客户端,其他人不得不等待。我无法弄清为什么,也没有真正关心 - 在服务器上安装Sun(现在的Oracle)JRE,并且运行平稳。所以如果你使用Linux和OpenJava,我建议你试试Oracle的JRE。

+0

有趣的 - 我不知道这是在其他JRE中的错误... – Krease

+0

不幸的是我的两个窗口运行XP虚拟机,只有攻击者是Ubuntu的 –

+0

很难相信。你一定在做一件很奇怪的事情。 – EJP