Java 如何获取产生TCP半开放连接的客户端的ip地址?

Java 如何获取产生TCP半开放连接的客户端的ip地址?,java,networking,tcp,Java,Networking,Tcp,有一个服务器正在侦听到给定端口的传入连接。假设服务器是172.16.5.26,端口是4099。当我把它扫描成 nmap 172.16.5.26 -p 4099 我可以得到客户端的ip地址。但当请求TCP半开放连接时 nmap -sS 172.16.5.26 -p 4099 我无法获取客户端的IP地址。我正在寻找一种java方法来完成这项任务。如果java库中没有这样的内置方法,有没有办法完成任务?Socket.getRemoteAddess和friends。但是这些都假设连接是到JVM的,并

有一个服务器正在侦听到给定端口的传入连接。假设服务器是172.16.5.26,端口是4099。当我把它扫描成

nmap 172.16.5.26 -p 4099
我可以得到客户端的ip地址。但当请求TCP半开放连接时

nmap -sS 172.16.5.26 -p 4099

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

Socket.getRemoteAddess和friends。但是这些都假设连接是到JVM的,并且这是相应的套接字。如果您正在寻找一种Java方法来查找主机中任何位置的任意半开放连接,则没有这种方法


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

@tendua,您的问题假设人们不仅必须熟悉java,还必须熟悉nmap命令行。你能更好地解释一下你需要什么,这样大家就不用看nmap手册就能理解你了吗?@AlexR:我用nmap只是向服务器发出请求。第一个命令只生成完全TCP连接,而第二个命令生成TCP半开放连接。任何能做到这一点的都是合适的。我使用nmap只是为了简明扼要。我不知道识别SYN洪水攻击是一件困难的事情。@我没有说这很困难,但在Java中仍然不可能,除非在我引用的条件下。但后来你也没说那是你想要的。在你的问题中提及这一点是有益的。