Java Port Scanner用于识别正在运行的服务

时间:2013-07-23 07:52:15

标签: java port port-scanning

我最近使用Java构建了一个端口扫描程序,它适用于我的大学课程(只是因为你知道我不是出于恶意的原因)。现在我们已经分配了它来识别正在侦听的每个端口上运行的服务,我相信当应用程序尝试连接它时,每个端口都会发送一个响应头,我认为从这个头开始它是可能的了解哪个应用程序正在其上运行,除非它已被手动覆盖。 我正在努力检索这个标题,即便如此,我也不确定该怎么做。对不起,这是一个如此广泛的问题,我对编程完全不熟悉。 您可以与我分享的任何链接或信息将不胜感激。我确实看过其他问题,但看不到与我的问题类似的问题,如果我错过了,我很抱歉。

先谢谢。

      public static void main(String[] args) {


    Socket socket;
    String message="";
    try {

        socket = new Socket();
        socket.connect(new InetSocketAddress("localhost", 3306),1000);
        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        if (br.readLine()!=null){
             message += br.readLine();
             if (message!=null){
                    System.out.println(message);
                }
        }

1 个答案:

答案 0 :(得分:0)

  

现在我们已经分配了它,以便识别正在侦听的每个端口上运行的服务

我不相信你的任务在计算上是可行的,除非你被允许查找/ etc / services。

  

我相信每个端口都会在应用程序尝试连接时发送响应标头

没有。例如,Telnet和HTTP在收到请求之前不会发送任何内容。

  

对不起,这是一个如此广泛的问题

这不是你的错,这是作业的错,除非你在这里误解了它或错误引用它。

相关问题