如何使用JAVA?我可以通过所有端口迭代找到使用或未使用的端口
tcp = new Socket(remote_address, i); // i [0 - 65535]
tcp.setReuseAddress(true);
但是如何找到使用此端口的应用程序?
答案 0 :(得分:2)
你无法确定这一点。任何应用程序都可以通过TCP发送任何数据流,出于安全考虑,此信息不会远程公开。但是,您可以使用不同的消息探测端口并查看会发生什么,从而允许您通过实验推断应用程序。
此外,某些服务/协议将具有独特的问候语,标题和消息,甚至可以公开调试信息。
答案 1 :(得分:2)
使用java很难找到它。您必须编写一个非常大的代码来检查端口的各种特性。如果你谷歌这个,你可以得到更多有关这方面的细节。实际上有些请求必须发送到端口。现在,在该端口后面运行的各种应用程序将使用特定的标题/横幅/格式进行响应,您将使用它们来检查各种预设条件。但这不是100%准确的方式。
Smart Net Admins可以通过在端口后面放置诱饵来伪装你。
相反,您可以使用Nmap。它是linux / windows / mac中使用的命令行工具,可以帮助您找到有关端口的大量信息。