开发者

Port to Service Name in Java?

My services file (C:\WINDOWS\system32\drivers\etc\services) has a bunch of Port to Service mappings:

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

I am trying to find a way to convert from a Port to the Service Name programmatically through Java APIs (instead of parsing) or third party libraries?

Pseudocode:

Port port = new Port("443","tcp");
String service = port.getService();
Syst开发者_JAVA技巧em.out.println(service);  //prints "https"

Is there any good way to accomplish this?


What you are looking for is a Java implementation of the Linux getservbyport() system call. Take a look at http://github.com/wmeissner/jnr-netdb. Also, do a Google search for java getservbyport


I don't think there is some API in java for this purpose. You will either need to parse this file or maintain port service mapping in some form (Properties file,db etc.). example to parse from system file is :

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜