NAME Net::IANA::PortNumbers - translate ports to services and vice versa SYNOPSIS use Net::IANA::PortNumbers; my $iana = Net::IANA::PortNumbers->new(); # or: ->new(MyRegistry->new()); ($iana->port(22, 'tcp'))[0]->svc; # returns 'ssh' ($iana->port(22, 'tcp'))[0]->port; # returns 22 ($iana->port(22, 'tcp'))[0]->desc; # returns 'SSH Remote Login Protocol' ($iana->port(22, 'tcp'))[0]->proto; # returns 'tcp' ($iana->port(22, 'tcp'))[0]->range; # returns 'Well known' ($iana->svc('ssh', 'tcp'))[0]->svc; # returns 'ssh' ($iana->svc('ssh', 'tcp'))[0]->port; # returns 22 ($iana->svc('ssh', 'tcp'))[0]->desc; # returns 'SSH Remote Login Protocol' ($iana->svc('ssh', 'tcp'))[0]->proto; # returns 'tcp' ($iana->svc('ssh', 'tcp'))[0]->range; # returns 'Well known' # prints: ident auth for my $port ($iana->port(113, 'tcp')) { print $port->svc(), " "; } # prints: 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 # 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 # 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 # 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 # 6055 6056 6057 6058 6059 6060 6061 for my $service ($iana->svc('x11', 'tcp')) { print $service->port(), " "; } # prints: ISO Transport Class 2 Non-Control over TCP, ISO Transport Class # 2 Non-Control over UDP print join ', ', map {$_->desc} $iana->port(399); # prints: Management Utility, Compression Process print join ', ', map {$_->desc} $iana->svc('compressnet', 'udp'); DESCRIPTION Net::IANA::PortNumbers translates port numbers and services to ports, services, descriptions, protocols, and ranges. METHODS * new This constructor returns a Net::IANA::PortNumbers object. It accepts an optional parameter of a registry object, otherwise it defaults to using Net::IANA::Registry. * svc Takes one mandatory argument of a service, i.e., 'ssh', and one optional argument of a protocol, i.e., 'tcp'. It will returns a list of port objects that match. * port Takes one mandatory argument of a port, i.e., 22, and one optional argument of a protocol, i.e., 'tcp'. It will returns a list of port objects that match. COPYRIGHT Copyright (c) 2003 Adam J. Foxson. All rights reserved. LICENSE See COPYING SEE ALSO * the perl manpage * the Net::servent manpage AUTHOR Adam J. Foxson , with special thanks to Kurt Starsinic for many suggestions.