2011-10-30 47 views
-1

有一个服务器监听到给定端口的传入连接。假设服务器为172.16.5.26和端口是4099.当我扫描这是如何获取客户端生成TCP半开连接的IP地址?

nmap 172.16.5.26 -p 4099 

我能够获得客户端的IP地址。但是当请求TCP半开连接时,因为

nmap -sS 172.16.5.26 -p 4099 

我无法获取客户端的IP地址。我在找java中的一个方法来完成这个任务。如果在java库中没有这样的内置方法,有什么办法来完成任务?

+0

@tendua,你的问题假设人们不仅要熟悉Java,还要熟悉nmap命令行。你能否更好地解释一下你需要什么,这样大家就能理解你,而不必阅读nmap手册页? – AlexR

+0

@AlexR:我只用nmap来产生对服务器的请求。第一个命令简单地生成完整的TCP连接,而第二个命令生成TCP半开放连接。任何可以做到这一点的都是合适的。我使用nmap来简化它。 –

回答

2

Socket.getRemoteAddess()和朋友。但是,这些假设连接到您的JVM,并且这是相应的套接字。如果你正在寻找一种Java方法来在主机的任何地方找到任意的半开连接,那么就没有一个。

这里的动机是什么?你为什么需要这个?

+0

我不知道识别SYN洪水攻击是一件困难的事情。 –

+0

@我没有说这很困难,但是在Java中除了我引用的条件外,它依然不可能。但是,你没有说这就是你想要的。在你的问题中提及它会是有用的。 – EJP

相关问题