6

私のサービスファイル(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

(解析ではなく)Java APIまたはサードパーティライブラリを介してプログラムでポートからサービス名に変換する方法を見つけようとしていますか?

擬似コード:

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

これを達成するための良い方法はありますか?

4

2 に答える 2

2

探しているのは、Linuxgetservbyport()システムコールのJava実装です。http://github.com/wmeissner/jnr-netdbをご覧ください。また、Googleで検索してくださいjava getservbyport

于 2010-08-03T04:20:31.687 に答える
0

この目的のためにJavaにいくつかのAPIがあるとは思いません。このファイルを解析するか、何らかの形式(プロパティファイル、dbなど)でポートサービスマッピングを維持する必要があります。システムファイルから解析する例は次のとおりです。

http://www.javafaq.nu/java-example-code-162.html

于 2010-08-03T03:16:11.087 に答える