我们正在尝试将拒绝服务攻击作为Internet Security项目执行,因此我们设置了客户端和服务器。 客户端执行以下
private void pingAttack() throws Exception {
String url = "127.0.0.1";
InetAddress inet = InetAddress.getByName(url);
for(int counter = 0; counter < 1000000000; counter++) {
System.out.println(inet.isReachable(5000) ? "available" : "NA");
}
}
在服务器中,我需要对此进行测量,因此我需要在特定数量的ping之后检测发送的ping并断开与用户的连接,但我不知道如何执行此操作。我们应该在doGet()
方法中在服务器端写什么?
答案 0 :(得分:1)
isReachable
不会导致HTTP请求,因此永远不会调用doGet
,doXXX方法。
来自InetAddress的Javadocs
测试该地址是否可达。最好的努力是由 实现尝试到达主机,但防火墙和服务器 配置可能会阻止导致无法访问状态的请求 虽然某些特定端口可以访问。典型的实现 如果可以获得特权,将使用ICMP ECHO REQUEST, 否则它将尝试在端口7(Echo)上建立TCP连接 目的地主机。
但是,如果您正在尝试阻止HTTP请求的DoS,则可以将容器(Tomcat,Jetty等)配置为仅接受最大数量的并发请求,之后将忽略其他请求。
答案 1 :(得分:0)
无。如果他们欺骗你执行doGet(),你就已经加载了你的服务器。您应该查看防火墙配置。