Java中的端口到服务名称?

mai*_*rgs 6 java service ports hosts ip-address

我的服务文件(C:\ WINDOWS\system32\drivers\etc\services)有一堆端口到服务的映射:

echo                7/tcp
echo                7/udp
discard             9/tcp    sink null
discard             9/udp    sink null
systat             11/tcp    users                  #Active users
systat             11/udp    users                  #Active users
daytime            13/tcp
daytime            13/udp
qotd               17/tcp    quote                  #Quote of the day
qotd               17/udp    quote                  #Quote of the day
chargen            19/tcp    ttytst source          #Character generator
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法通过Java API(而不是解析)或第三方库以编程方式从端口转换为服务名称?

伪代码:

Port port = new Port("443","tcp");
String service = port.getService();
System.out.println(service);  //prints "https"
Run Code Online (Sandbox Code Playgroud)

有没有什么好办法可以做到这一点?

Jim*_*son 2

您正在寻找的是 Linuxgetservbyport()系统调用的 Java 实现。看看http://github.com/wmeissner/jnr-netdb。另外,谷歌搜索一下java getservbyport