如何使用JAVA网络知道端口活动的类型

如何使用JAVA网络知道端口活动的类型,java,networking,ports,Java,Networking,Ports,我是Java网络新手。我用java编写了一个程序,可以显示web服务器的活动端口。 这是: import java.net.Socket; import java.util.Scanner; import java.lang.Exception; import java.lang.Thread; class helper{ public static void main(String []args){ Scanner s= new Scanner(System.in);

我是Java网络新手。我用java编写了一个程序,可以显示web服务器的活动端口。 这是:

import java.net.Socket;
import java.util.Scanner;
import java.lang.Exception;
import java.lang.Thread;

class helper{
    public static void main(String []args){
        Scanner s= new Scanner(System.in);
        int port;
        System.out.print("Enter web url :");
        String url = s.next();
        for(port=0;port<65536;port++){
            helper2 h = new helper2(url,port);
            h.start();
        }
        s.close();
    }
}
class helper2 extends Thread{
    int port;
    String url;
    helper2(String url,int port){
        this.url=url;
        this.port=port;
    }
    private void getStatus(){
        try{
            Socket skt = new Socket(url,port);
            System.out.println(port);
            skt.close();
        }catch(Exception e){
            //Handle Exception here
        }
    }
    public void run(){
        getStatus();
    }

}
导入java.net.Socket;
导入java.util.Scanner;
导入java.lang.Exception;
导入java.lang.Thread;
类助手{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
国际港口;
System.out.print(“输入网址:”);
字符串url=s.next();
对于(端口=0;端口FTP和telnet在应用层。您可以检查传输层协议,将套接字类型从TCP更改为UDP(现在您只检查TCP)。但为了检查应用层协议,您必须知道每个协议的工作原理


您可以使用nmap进行全端口扫描,这是一种众所周知的网络扫描工具。

使用您的操作系统的一些工具,例如Linux上的
netstat
,这可能会变得更容易。是否真的需要用Java进行扫描?如果有,请告诉我进行否决的原因。但我使用的是windows机器和Java。应该有一种我找不到的方法。有很多应用程序协议,比如FTP、HTTP等等。你不能全部检查它们。也许你可以尝试将套接字连接到一个端口并检查该端口的编号。然后检查一个类似的列表,以确定哪些服务处于活动状态。但是有一些工具可以用于此,比如我sa以前的身份证。