File Coverage

blib/lib/Net/Inet.pm
Criterion Covered Total %
statement 184 296 62.1
branch 69 218 31.6
condition 32 141 22.7
subroutine 20 29 68.9
pod 11 13 84.6
total 316 697 45.3


line stmt bran cond sub pod time code
1             # Copyright 1995,2002 Spider Boardman.
2             # All rights reserved.
3             #
4             # Automatic licensing for this software is available. This software
5             # can be copied and used under the terms of the GNU Public License,
6             # version 1 or (at your option) any later version, or under the
7             # terms of the Artistic license. Both of these can be found with
8             # the Perl distribution, which this software is intended to augment.
9             #
10             # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
11             # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
12             # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13              
14             # rcsid: "@(#) $Id: Inet.dat,v 1.26 2002/03/30 10:10:39 spider Exp $"
15              
16             package Net::Inet;
17 1     1   17 use 5.004_04; # new minimum Perl version for this package
  1         3  
  1         39  
18              
19 1     1   5 use strict;
  1         3  
  1         77  
20             # use Carp;
21 0     0 0 0 sub croak { require Carp; goto &Carp::croak; }
  0         0  
22 0     0 0 0 sub carp { require Carp; goto &Carp::carp; }
  0         0  
23 1     1   5 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD);
  1         2  
  1         106  
24              
25              
26             BEGIN {
27 1     1   3 $VERSION = '1.0';
28 1         72 eval "sub Version () { __PACKAGE__ . ' v$VERSION' }";
29             }
30              
31 1     1   6 use AutoLoader;
  1         2  
  1         9  
32             #use Exporter ();
33 1     1   63 use Net::Gen 1.0 qw(:ALL);
  1         42  
  1         1428  
34 1     1   7 use Socket qw(/^inet_/);
  1         3  
  1         933  
35              
36             BEGIN {
37 1     1   23 @ISA = 'Net::Gen';
38              
39             # Items to export into callers namespace by default
40             # (move infrequently used names to @EXPORT_OK below)
41 1         7 @EXPORT = qw(
42             INADDR_ALLHOSTS_GROUP
43             INADDR_ALLRTRS_GROUP
44             INADDR_ANY
45             INADDR_BROADCAST
46             INADDR_LOOPBACK
47             INADDR_MAX_LOCAL_GROUP
48             INADDR_NONE
49             INADDR_UNSPEC_GROUP
50             IPPORT_RESERVED
51             IPPORT_USERRESERVED
52             IPPORT_DYNAMIC
53             IPPROTO_EGP
54             IPPROTO_EON
55             IPPROTO_GGP
56             IPPROTO_HELLO
57             IPPROTO_ICMP
58             IPPROTO_IDP
59             IPPROTO_IGMP
60             IPPROTO_IP
61             IPPROTO_IPIP
62             IPPROTO_MAX
63             IPPROTO_PUP
64             IPPROTO_RAW
65             IPPROTO_RSVP
66             IPPROTO_TCP
67             IPPROTO_TP
68             IPPROTO_UDP
69             htonl
70             htons
71             inet_addr
72             inet_aton
73             inet_ntoa
74             ntohl
75             ntohs
76             );
77              
78             # Other items we are prepared to export if requested
79 1         22 @EXPORT_OK = qw(
80             DEFTTL
81             ICMP_ADVLENMIN
82             ICMP_ECHO
83             ICMP_ECHOREPLY
84             ICMP_INFOTYPE
85             ICMP_IREQ
86             ICMP_IREQREPLY
87             ICMP_MASKLEN
88             ICMP_MASKREPLY
89             ICMP_MASKREQ
90             ICMP_MAXTYPE
91             ICMP_MINLEN
92             ICMP_PARAMPROB
93             ICMP_REDIRECT
94             ICMP_REDIRECT_HOST
95             ICMP_REDIRECT_NET
96             ICMP_REDIRECT_TOSHOST
97             ICMP_REDIRECT_TOSNET
98             ICMP_SOURCEQUENCH
99             ICMP_TIMXCEED
100             ICMP_TIMXCEED_INTRANS
101             ICMP_TIMXCEED_REASS
102             ICMP_TSLEN
103             ICMP_TSTAMP
104             ICMP_TSTAMPREPLY
105             ICMP_UNREACH
106             ICMP_UNREACH_HOST
107             ICMP_UNREACH_NEEDFRAG
108             ICMP_UNREACH_NET
109             ICMP_UNREACH_PORT
110             ICMP_UNREACH_PROTOCOL
111             ICMP_UNREACH_SRCFAIL
112             IN_BADCLASS
113             IN_CLASSA
114             IN_CLASSA_HOST
115             IN_CLASSA_MAX
116             IN_CLASSA_NET
117             IN_CLASSA_NSHIFT
118             IN_CLASSA_SUBHOST
119             IN_CLASSA_SUBNET
120             IN_CLASSA_SUBNSHIFT
121             IN_CLASSB
122             IN_CLASSB_HOST
123             IN_CLASSB_MAX
124             IN_CLASSB_NET
125             IN_CLASSB_NSHIFT
126             IN_CLASSB_SUBHOST
127             IN_CLASSB_SUBNET
128             IN_CLASSB_SUBNSHIFT
129             IN_CLASSC
130             IN_CLASSC_HOST
131             IN_CLASSC_MAX
132             IN_CLASSC_NET
133             IN_CLASSC_NSHIFT
134             IN_CLASSD
135             IN_CLASSD_HOST
136             IN_CLASSD_NET
137             IN_CLASSD_NSHIFT
138             IN_EXPERIMENTAL
139             IN_LOOPBACKNET
140             IN_MULTICAST
141             IPFRAGTTL
142             IPOPT_CIPSO
143             IPOPT_CLASS
144             IPOPT_CONTROL
145             IPOPT_COPIED
146             IPOPT_DEBMEAS
147             IPOPT_EOL
148             IPOPT_LSRR
149             IPOPT_MINOFF
150             IPOPT_NOP
151             IPOPT_NUMBER
152             IPOPT_OFFSET
153             IPOPT_OLEN
154             IPOPT_OPTVAL
155             IPOPT_RESERVED1
156             IPOPT_RESERVED2
157             IPOPT_RIPSO_AUX
158             IPOPT_RR
159             IPOPT_SATID
160             IPOPT_SECURITY
161             IPOPT_SECUR_CONFID
162             IPOPT_SECUR_EFTO
163             IPOPT_SECUR_MMMM
164             IPOPT_SECUR_RESTR
165             IPOPT_SECUR_SECRET
166             IPOPT_SECUR_TOPSECRET
167             IPOPT_SECUR_UNCLASS
168             IPOPT_SSRR
169             IPOPT_TS
170             IPOPT_TS_PRESPEC
171             IPOPT_TS_TSANDADDR
172             IPOPT_TS_TSONLY
173             IPPORT_TIMESERVER
174             IPTOS_LOWDELAY
175             IPTOS_PREC_CRITIC_ECP
176             IPTOS_PREC_FLASH
177             IPTOS_PREC_FLASHOVERRIDE
178             IPTOS_PREC_IMMEDIATE
179             IPTOS_PREC_INTERNETCONTROL
180             IPTOS_PREC_NETCONTROL
181             IPTOS_PREC_PRIORITY
182             IPTOS_PREC_ROUTINE
183             IPTOS_RELIABILITY
184             IPTOS_THROUGHPUT
185             IPTTLDEC
186             IPVERSION
187             IP_ADD_MEMBERSHIP
188             IP_DEFAULT_MULTICAST_LOOP
189             IP_DEFAULT_MULTICAST_TTL
190             IP_DF
191             IP_DROP_MEMBERSHIP
192             IP_HDRINCL
193             IP_MAXPACKET
194             IP_MAX_MEMBERSHIPS
195             IP_MF
196             IP_MSS
197             IP_MULTICAST_IF
198             IP_MULTICAST_LOOP
199             IP_MULTICAST_TTL
200             IP_OPTIONS
201             IP_RECVDSTADDR
202             IP_RECVOPTS
203             IP_RECVRETOPTS
204             IP_RETOPTS
205             IP_TOS
206             IP_TTL
207             MAXTTL
208             MAX_IPOPTLEN
209             MINTTL
210             SUBNETSHIFT
211             pack_sockaddr_in
212             unpack_sockaddr_in
213             );
214              
215 1         7545 %EXPORT_TAGS = (
216             sockopts => [qw(IP_HDRINCL IP_RECVDSTADDR IP_RECVOPTS
217             IP_RECVRETOPTS IP_TOS IP_TTL IP_ADD_MEMBERSHIP
218             IP_DROP_MEMBERSHIP IP_MULTICAST_IF
219             IP_MULTICAST_LOOP IP_MULTICAST_TTL
220             IP_OPTIONS IP_RETOPTS)],
221             routines => [qw(pack_sockaddr_in unpack_sockaddr_in
222             inet_ntoa inet_aton inet_addr
223             htonl ntohl htons ntohs
224             ICMP_INFOTYPE IN_BADCLASS
225             IN_EXPERIMENTAL IN_MULTICAST
226             IPOPT_CLASS IPOPT_COPIED IPOPT_NUMBER)],
227             icmpvalues => [qw(ICMP_ADVLENMIN ICMP_ECHO ICMP_ECHOREPLY
228             ICMP_IREQ ICMP_IREQREPLY ICMP_MASKLEN
229             ICMP_MASKREPLY ICMP_MASKREQ ICMP_MAXTYPE
230             ICMP_MINLEN ICMP_PARAMPROB ICMP_REDIRECT
231             ICMP_REDIRECT_HOST ICMP_REDIRECT_NET
232             ICMP_REDIRECT_TOSHOST ICMP_REDIRECT_TOSNET
233             ICMP_SOURCEQUENCH ICMP_TIMXCEED
234             ICMP_TIMXCEED_INTRANS ICMP_TIMXCEED_REASS
235             ICMP_TSLEN ICMP_TSTAMP ICMP_TSTAMPREPLY
236             ICMP_UNREACH ICMP_UNREACH_HOST
237             ICMP_UNREACH_NEEDFRAG ICMP_UNREACH_NET
238             ICMP_UNREACH_PORT ICMP_UNREACH_PROTOCOL
239             ICMP_UNREACH_SRCFAIL)],
240             ipoptions => [qw(IPOPT_CIPSO IPOPT_CONTROL IPOPT_DEBMEAS
241             IPOPT_EOL IPOPT_LSRR IPOPT_MINOFF IPOPT_NOP
242             IPOPT_OFFSET IPOPT_OLEN IPOPT_OPTVAL
243             IPOPT_RESERVED1 IPOPT_RESERVED2
244             IPOPT_RIPSO_AUX IPOPT_RR IPOPT_SATID
245             IPOPT_SECURITY IPOPT_SECUR_CONFID
246             IPOPT_SECUR_EFTO IPOPT_SECUR_MMMM
247             IPOPT_SECUR_RESTR IPOPT_SECUR_SECRET
248             IPOPT_SECUR_TOPSECRET IPOPT_SECUR_UNCLASS
249             IPOPT_SSRR
250             IPOPT_TS IPOPT_TS_PRESPEC
251             IPOPT_TS_TSANDADDR IPOPT_TS_TSONLY
252             MAX_IPOPTLEN)],
253             iptosvalues => [qw(IPTOS_LOWDELAY IPTOS_PREC_CRITIC_ECP
254             IPTOS_PREC_FLASH IPTOS_PREC_FLASHOVERRIDE
255             IPTOS_PREC_IMMEDIATE IPTOS_PREC_INTERNETCONTROL
256             IPTOS_PREC_NETCONTROL IPTOS_PREC_PRIORITY
257             IPTOS_PREC_ROUTINE IPTOS_RELIABILITY
258             IPTOS_THROUGHPUT)],
259             protocolvalues => [qw(DEFTTL
260             INADDR_ALLHOSTS_GROUP INADDR_ALLRTRS_GROUP
261             INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK
262             INADDR_MAX_LOCAL_GROUP INADDR_NONE
263             INADDR_UNSPEC_GROUP
264             IN_LOOPBACKNET
265             IPPORT_RESERVED IPPORT_USERRESERVED
266             IPPORT_DYNAMIC
267             IPPROTO_EGP IPPROTO_EON IPPROTO_GGP
268             IPPROTO_HELLO IPPROTO_ICMP IPPROTO_IDP
269             IPPROTO_IGMP IPPROTO_IP IPPROTO_IPIP
270             IPPROTO_MAX IPPROTO_PUP IPPROTO_RAW
271             IPPROTO_RSVP IPPROTO_TCP IPPROTO_TP
272             IPPROTO_UDP
273             IPFRAGTTL
274             IPTTLDEC IPVERSION
275             IP_DF IP_MAXPACKET IP_MF IP_MSS
276             MAXTTL MAX_IPOPTLEN MINTTL)],
277             ipmulticast => [qw(IP_ADD_MEMBERSHIP IP_DEFAULT_MULTICAST_LOOP
278             IP_DEFAULT_MULTICAST_TTL IP_DROP_MEMBERSHIP
279             IP_MAX_MEMBERSHIPS IP_MULTICAST_IF
280             IP_MULTICAST_LOOP IP_MULTICAST_TTL)],
281             deprecated => [qw(IN_CLASSA_HOST IN_CLASSA_MAX IN_CLASSA_NET
282             IN_CLASSA_NSHIFT IN_CLASSA_SUBHOST
283             IN_CLASSA_SUBNET IN_CLASSA_SUBNSHIFT
284             IN_CLASSB_HOST IN_CLASSB_MAX IN_CLASSB_NET
285             IN_CLASSB_NSHIFT IN_CLASSB_SUBHOST
286             IN_CLASSB_SUBNET IN_CLASSB_SUBNSHIFT
287             IN_CLASSC_HOST IN_CLASSC_MAX IN_CLASSC_NET
288             IN_CLASSC_NSHIFT
289             IN_CLASSD_HOST IN_CLASSD_NET IN_CLASSD_NSHIFT
290             IN_CLASSA IN_CLASSB IN_CLASSC IN_CLASSD
291             IPPORT_TIMESERVER
292             SUBNETSHIFT)],
293             ALL => [@EXPORT, @EXPORT_OK],
294             );
295              
296             }
297              
298             # sub AUTOLOAD inherited from Net::Gen
299              
300             # inherited autoload for 'regular' subroutines is being removed in
301             # 5.003_96, so cheat a little.
302              
303             sub AUTOLOAD
304             {
305 1     1   388 $Net::Gen::AUTOLOAD = $AUTOLOAD;
306 1         7 goto &Net::Gen::AUTOLOAD;
307             }
308              
309             # Preloaded methods go here. Autoload methods go after __END__, and are
310             # processed by the autosplit program.
311              
312             my %sockopts;
313              
314             %sockopts = (
315             # socket options from the list above
316             # simple booleans first
317              
318             'IP_HDRINCL' => ['I'],
319             'IP_RECVDSTADDR' => ['I'],
320             'IP_RECVOPTS' => ['I'],
321             'IP_RECVRETOPTS' => ['I'],
322              
323             # simple integer options
324              
325             'IP_TOS' => ['I'],
326             'IP_TTL' => ['I'],
327              
328             # structured options
329              
330             'IP_ADD_MEMBERSHIP'=> ['a4a4'], # ip_mreq
331             'IP_DROP_MEMBERSHIP'=> ['a4a4'], # ip_mreq
332             'IP_MULTICAST_IF' => ['a4'], # inet_addr
333             'IP_MULTICAST_LOOP'=> ['C'], # u_char
334             'IP_MULTICAST_TTL' => ['C'], # u_char
335             'IP_OPTIONS' => ['a4C40'], # ip_options
336             'IP_RETOPTS' => ['a4C40'], # ip_options
337              
338             # out of known IP options
339             );
340              
341             __PACKAGE__->initsockopts( IPPROTO_IP(), \%sockopts );
342              
343             #& htonl($number||@numbers) : $number || @numbers
344             sub htonl
345             {
346 0 0   0 1 0 return unless defined wantarray;
347 0 0 0     0 carp "Wrong number of arguments ($#_) to " . __PACKAGE__ . "::htonl, called"
348             if @_ != 1 and !wantarray;
349 0         0 unpack('N*', pack('L*', @_));
350             }
351              
352             #& htons($number||@numbers) : $number || @numbers
353             sub htons
354             {
355 5 50   5 1 19 return unless defined wantarray;
356 5 50 33     18 carp "Wrong number of arguments ($#_) to " . __PACKAGE__ . "::htons, called"
357             if @_ != 1 and !wantarray;
358 5         686 unpack('n*', pack('S*', @_));
359             }
360              
361             #& ntohl($number||@numbers) : $number || @numbers
362             sub ntohl
363             {
364 0 0   0 1 0 return unless defined wantarray;
365 0 0 0     0 carp "Wrong number of arguments ($#_) to " . __PACKAGE__ . "::ntohl, called"
366             if @_ != 1 and !wantarray;
367 0         0 unpack('L*', pack('N*', @_));
368             }
369              
370             #& ntohs($number||@numbers) : $number || @numbers
371             sub ntohs
372             {
373 0 0   0 1 0 return unless defined wantarray;
374 0 0 0     0 carp "Wrong number of arguments ($#_) to " . __PACKAGE__ . "::ntohs, called"
375             if @_ != 1 and !wantarray;
376 0         0 unpack('S*', pack('n*', @_));
377             }
378              
379             # removed inet_ntoa that was here -- the one in Socket is (now) good enough
380              
381             #& pack_sockaddr_in([$family,] $port, $in_addr) : $packed_addr
382             sub pack_sockaddr_in ($$;$)
383             {
384 1 50   1 1 4 unshift(@_,AF_INET) if @_ == 2;
385 1         18 _pack_sockaddr_in($_[0], $_[1], $_[2]);
386             }
387              
388             # sub unpack_sockaddr_in is in XS code
389              
390              
391             # Get the prototypes right for the autoloaded values, to avoid confusing
392             # the caller's code with changes in prototypes.
393              
394             # sub inet_aton in Socket.xs
395              
396             sub inet_addr; # (helps with -w)
397             *inet_addr = \&inet_aton; # same code for old interface
398              
399              
400             my $debug = 0;
401              
402             #& _debug($this, [$newval]) : oldval
403             sub _debug : locked
404             {
405 63     63   96 my ($this,$newval) = @_;
406 63 100       283 return $this->debug($newval) if ref $this;
407 10         13 my $prev = $debug;
408 10 50       22 $debug = 0+$newval if defined $newval;
409 10         43 $prev;
410             }
411              
412             my %keyhandlers;
413             my @hostkeys = qw(thishost desthost);
414             @keyhandlers{@hostkeys} = (\&_sethost) x @hostkeys;
415             my @portkeys = qw(thisservice thisport destservice destport);
416             @keyhandlers{@portkeys} = (\&_setport) x @portkeys;
417             my @protokeys = qw(IPproto proto);
418             @keyhandlers{@protokeys} = (\&_setproto) x @protokeys;
419             # Don't include "handled" keys in this list, since that's redundant.
420             my @Keys = qw(lclhost lcladdr lclservice lclport
421             remhost remaddr remservice remport);
422              
423             # leave these to be init'ed on the first new() call
424             my (%Keys,%Sopts);
425              
426             #& new($class, [\%params]) : {$obj | undef}
427             sub new
428             {
429 2     2 1 20 my $whoami = $_[0]->_trace(\@_,1);
430 2         5 my($class,@Args,$self) = @_;
431 2         15 $self = $class->SUPER::new(@Args);
432 2 50       6 $class = ref $class if ref $class;
433 2 50       16 $class->_trace(\@_,2,", self" .
434             (defined $self ? "=$self" : " undefined") .
435             " after sub-new");
436 2 50       13 if ($self) {
437 2 0 0     6 CORE::dump if $debug > 1 and
      33        
438             ref $self ne $class || "$self" !~ /HASH/;
439             # init object debug level
440 2         17 $self->setparams({'debug'=>$debug},-1);
441 2 100       7 if (%Keys) {
442 1         24 $ {*$self}{Keys} = { %Keys } ;
  1         3  
443             }
444             else {
445             # register our keys and their handlers
446 1         4 $self->register_param_keys(\@Keys);
447 1         5 $self->register_param_handlers(\%keyhandlers);
448 1         2 %Keys = %{ $ {*$self}{Keys} } ;
  1         2  
  1         21  
449             }
450 2 100       13 if (%Sopts) {
451 1         7 $ {*$self}{Sockopts} = { %Sopts } ;
  1         3  
452             }
453             else {
454             # register our socket options
455 1         4 $self->register_options('IPPROTO_IP', IPPROTO_IP(), \%sockopts);
456 1         2 %Sopts = %{ $ {*$self}{Sockopts} } ;
  1         85  
  1         6  
457             }
458             # set our expected parameters
459 2         14 $self->setparams({PF => PF_INET, AF => AF_INET},-1);
460 2 50       9 if ($class eq __PACKAGE__) {
461 0 0       0 unless ($self->init(@Args)) {
462 0         0 local $!; # protect returned errno value
463 0         0 undef $self; # against close problems inside perl
464 0         0 undef $self; # another statement needed for sequencing
465             }
466             }
467 2 50       19 if ($self) {
468 2         12 $self->_trace(0,1," returning self=$self");
469             }
470             else {
471 0         0 $class->_trace(0,1," returning self=(undef)");
472             }
473             }
474             else {
475 0         0 $class->_trace(0,1," returning self=(undef)");
476             }
477 2         8 $self;
478             }
479              
480             #& _hostport($self, {'this'|'dest'}, [\]@list) : boolean
481             sub _hostport
482             {
483 0     0   0 my($self,$which,@args,$aref) = @_;
484 0         0 $aref = \@args; # assume in-line list unless proved otherwise
485 0 0 0     0 $aref = $args[0] if @args == 1 && ref $args[0] && ref $args[0] eq 'ARRAY';
      0        
486 0 0 0     0 return undef if $which ne 'dest' and $which ne 'this';
487 0 0       0 if (@$aref) { # assume this is ('desthost','destport')
488 0         0 my %p; # where we'll build the params list
489 0 0 0     0 if (@$aref == 3 and ref($$aref[2]) and ref($$aref[2]) eq 'HASH') {
      0        
490 0         0 %p = %{$$aref[2]};
  0         0  
491             }
492             else {
493 0         0 %p = splice(@$aref,2); # assume valid params after
494             }
495 0 0       0 $p{"${which}host"} = $$aref[0] if defined $$aref[0];
496 0 0       0 $p{"${which}port"} = $$aref[1] if defined $$aref[1];
497 0         0 $self->setparams(\%p);
498             }
499             else {
500 0         0 1; # succeed vacuously if no work
501             }
502             }
503              
504             #& init($self, [\%params || @speclist]) : {$self | undef}
505             sub init : locked
506             {
507 2     2 1 17 $_[0]->_trace(\@_,2);
508 2         5 my($self,@args) = @_;
509 2 50       13 return $self unless $self = $self->SUPER::init(@args);
510 2 0 0     13 if (@args > 1 || @args == 1 && (!ref $args[0] || ref $args[0] ne 'HASH')) {
      33        
      33        
511 0 0       0 return undef unless $self->_hostport('dest',@args);
512             }
513             # my @r; # dummy array needed in 5.000
514             # if ((@r=$self->getparams([qw(type proto)],1)) == 4) { # have type and proto
515 2 50       21 if ($self->getparams([qw(type proto)],1) == 4) { # have type and proto
516 2 50       99 unless ($self->open) { # create the socket
517 0         0 return undef; # and refuse to make less object than requested
518             }
519             }
520 2 50       11 if ($self->getparam('srcaddrlist')) {
521             # have enough object already to attempt the binding
522 0 0       0 return undef unless $self->bind; # make no less object than requested
523             }
524 2 50       8 if ($self->getparam('dstaddrlist')) {
525             # have enough object already to attempt the connection
526 0 0 0     0 return undef unless $self->connect or
      0        
527             $self->isconnecting and !$self->blocking;
528             # make no less object than requested
529             }
530             # I think this is all we need here ?
531 2         13 $self;
532             }
533              
534             #& connect($self, [\]@([host],[port])) : boolean
535             sub connect : locked method
536             {
537 0     0 1 0 my($self,@args) = @_;
538 0 0 0     0 return undef if @args and not $self->_hostport('dest',@args);
539 0         0 $self->SUPER::connect;
540             }
541              
542             #& _sethost($self,$key,$newval) : {'' | "carp string"}
543             sub _sethost
544             {
545 1     1   2 my($self,$key,$newval) = @_;
546 1         6 return "Invalid args to " . __PACKAGE__ . "::_sethost(@_), called"
547 1 50 33     6 if @_ != 3 or ref($ {*$self}{Keys}{$key}) ne 'CODE';
548             # check for call from delparams
549 1 50       4 if (!defined $newval) {
550 0         0 my @delkeys;
551 0 0       0 if ($key eq 'thishost') {
    0          
552 0         0 @delkeys =
553             qw(srcaddrlist srcaddr lclhost lcladdr lclport lclservice);
554             }
555             elsif ($key eq 'desthost') {
556 0         0 @delkeys =
557             qw(dstaddrlist dstaddr remhost remaddr remport remservice);
558             }
559 0 0 0     0 splice(@delkeys, 1) if @delkeys and $self->isconnected;
560 0 0       0 $self->delparams(\@delkeys) if @delkeys;
561 0         0 return ''; # ok to delete
562             }
563              
564             # here we're really trying to set some kind of address (we think)
565 1         2 my ($pkey,$port);
566 1         6 ($pkey = $key) =~ s/host$/port/;
567 1         2 my (@addrs,$addr,$cport);
568 1 50       3 ($newval,$cport) = ($1,$2) if
569             $newval =~ m/^(.+):([-\w]+(?:\(\d+\))?)$/;
570 1 50       7 if ($newval =~ m/^(\[?)([a-fx.\d]+)(\]?)$/si) {
571 1 50       6 return "Invalid address literal $newval found"
572             if length($1) != length($3);
573 1         18 $addr = inet_aton($2);
574             }
575 1 50 33     23 if (defined $addr and substr($newval, 0, 1) eq '[') {
576 0         0 push(@addrs,$addr);
577 0         0 $addr = '[' . inet_ntoa($addr) . ']';
578             }
579             else {
580 1         2 my(@hinfo,$hname);
581 1         2 $hname = $newval;
582 1   33     2 do {
583 1         82 @hinfo = gethostbyname($hname);
584             } while (!@hinfo && $hname =~ s/\.$//);
585 1 50 33     7 if (!@hinfo and defined $addr) {
586 0         0 push(@addrs, $addr);
587 0         0 $addr = inet_ntoa($addr);
588             }
589             else {
590 1 50       4 return "Host $newval not found ($?)," unless @hinfo > 4;
591 1 50       5 return "Host $newval has strange address family ($hinfo[2]),"
592             if $self->getparam('AF',AF_INET,1) != $hinfo[2];
593 1         4 @addrs = splice(@hinfo,4);
594 1         2 $addr = $hinfo[0]; # save canonical name for real setup
595             # just in case this is /etc/hosts or old sunos, try harder
596 1 50 33     13 if ($addr !~ /.\../ and $hinfo[1]) {
597 0         0 for $hname (split(' ',$hinfo[1])) {
598 0 0       0 if ($hname =~ /.\../) {
599 0         0 $addr = $hname;
600 0         0 last;
601             }
602             }
603             }
604             }
605             }
606             # valid so far, get out if can't form addresses yet
607 1         1 $port = $ {*$self}{Parms}{$pkey};
  1         4  
608 1 50 33     9 return '' unless
      33        
609             defined $cport or
610             defined $port or
611             $pkey eq 'thisport'; # allow for 'bind'
612 1 50       3 if (defined $cport) {
613 0 0       0 return $newval if $newval = &_setport($self,$pkey,$cport);
614 0         0 $port = $cport;
615             }
616 1 50       4 $port = 0 unless defined $port;
617 1         10 my $af = $self->getparam('AF',AF_INET,1);
618 1         3 for (@addrs) {
619 1         7 $_ = pack_sockaddr_in($af, $port+0, $_);
620             }
621 1 50       4 $pkey = (($key eq 'desthost') ? 'dstaddrlist' : 'srcaddrlist');
622 1         16 $self->setparams({$pkey => [@addrs]});
623             # finally, we have validation
624 1         3 $_[2] = $addr; # update the canonical representation to store
625 1         5 print STDERR " - " . __PACKAGE__ . "::_sethost $self $key ",
626             $self->format_addr($addr,1),"\n"
627 1 50       2 if $ {*$self}{Parms}{'debug'};
628 1         5 ''; # return nullstring for goodness
629             }
630              
631             # These port assignments were generated from IANA's list of assigned ports
632             # as of 1997/05/17.
633              
634             my %udp_ports;
635              
636             my $udp_ports = "tcpmux 1
637             rje 5
638             echo 7
639             discard 9
640             null 9
641             sink 9
642             systat 11
643             daytime 13
644             netstat 15
645             qotd 17
646             quote 17
647             msp 18
648             chargen 19
649             source 19
650             ttytst 19
651             ftp-data 20
652             ftp 21
653             ssh 22
654             telnet 23
655             mail 25
656             smtp 25
657             nsw-fe 27
658             msg-icp 29
659             msg-auth 31
660             dsp 33
661             time 37
662             rap 38
663             rlp 39
664             graphics 41
665             name 42
666             nameserver 42
667             nicname 43
668             whois 43
669             mpm-flags 44
670             mpm 45
671             mpm-snd 46
672             ni-ftp 47
673             auditd 48
674             tacacs 49
675             re-mail-ck 50
676             la-maint 51
677             xns-time 52
678             dns 53
679             domain 53
680             xns-ch 54
681             isi-gl 55
682             xns-auth 56
683             xns-mail 58
684             ni-mail 61
685             acas 62
686             whois++ 63
687             covia 64
688             tacacs-ds 65
689             sql*net 66
690             bootp 67
691             bootps 67
692             bootpc 68
693             tftp 69
694             gopher 70
695             netrjs-1 71
696             netrjs-2 72
697             netrjs-3 73
698             netrjs-4 74
699             deos 76
700             vettcp 78
701             finger 79
702             http 80
703             www 80
704             www-http 80
705             hosts2-ns 81
706             xfer 82
707             ctf 84
708             mfcobol 86
709             kerberos 88
710             su-mit-tg 89
711             dnsix 90
712             mit-dov 91
713             npp 92
714             dcp 93
715             objcall 94
716             supdup 95
717             dixie 96
718             swift-rvf 97
719             tacnews 98
720             metagram 99
721             hostname 101
722             hostnames 101
723             iso-tsap 102
724             gppitnp 103
725             acr-nema 104
726             csnet-ns 105
727             3com-tsmux 106
728             rtelnet 107
729             snagas 108
730             pop2 109
731             pop3 110
732             sunrpc 111
733             mcidas 112
734             auth 113
735             ident 113
736             audionews 114
737             sftp 115
738             ansanotify 116
739             uucp-path 117
740             sqlserv 118
741             nntp 119
742             untp 119
743             cfdptkt 120
744             erpc 121
745             smakynet 122
746             ntp 123
747             ansatrader 124
748             locus-map 125
749             unitary 126
750             locus-con 127
751             gss-xlicen 128
752             pwdgen 129
753             cisco-fna 130
754             cisco-tna 131
755             cisco-sys 132
756             statsrv 133
757             ingres-net 134
758             epmap 135
759             profile 136
760             netbios-ns 137
761             netbios-dgm 138
762             netbios-ssn 139
763             emfis-data 140
764             emfis-cntl 141
765             bl-idm 142
766             imap 143
767             news 144
768             uaac 145
769             iso-tp0 146
770             iso-ip 147
771             jargon 148
772             aed-512 149
773             sql-net 150
774             hems 151
775             bftp 152
776             sgmp 153
777             netsc-prod 154
778             netsc-dev 155
779             sqlsrv 156
780             knet-cmp 157
781             pcmail-srv 158
782             nss-routing 159
783             sgmp-traps 160
784             snmp 161
785             snmp-trap 162
786             snmptrap 162
787             cmip-man 163
788             smip-agent 164
789             xns-courier 165
790             s-net 166
791             namp 167
792             snmp-rt 167
793             rsvd 168
794             send 169
795             print-srv 170
796             multiplex 171
797             cl/1 172
798             xyplex-mux 173
799             mailq 174
800             vmnet 175
801             genrad-mux 176
802             xdmcp 177
803             nextstep 178
804             bgp 179
805             ris 180
806             unify 181
807             audit 182
808             ocbinder 183
809             ocserver 184
810             remote-kis 185
811             kis 186
812             aci 187
813             mumps 188
814             qft 189
815             cacp 190
816             gacp 190
817             prospero 191
818             osu-nms 192
819             srmp 193
820             irc 194
821             dn6-nlm-aud 195
822             dn6-smm-red 196
823             dlsold 197
824             dls-mon 198
825             smux 199
826             src 200
827             at-rtmp 201
828             at-nbp 202
829             at-3 203
830             at-echo 204
831             at-5 205
832             at-zis 206
833             at-7 207
834             at-8 208
835             qmtp 209
836             z39.50 210
837             914c/g 211
838             anet 212
839             ipx 213
840             vmpwscs 214
841             softpc 215
842             cailic 216
843             dbase 217
844             mpp 218
845             uarps 219
846             imap3 220
847             fln-spx 221
848             rsh-spx 222
849             cdc 223
850             direct 242
851             sur-meas 243
852             dayna 244
853             link 245
854             dsp3270 246
855             ibm-rap 256
856             set 257
857             yak-chat 258
858             esro-gen 259
859             openport 260
860             nsiiops 261
861             arcisdms 262
862             hdap 263
863             http-mgmt 280
864             personal-link 281
865             cableport-ax 282
866             entrusttime 309
867             pdap 344
868             pawserv 345
869             zserv 346
870             fatserv 347
871             csi-sgwp 348
872             matip-type-a 350
873             matip-type-b 351
874             dtag-ste-sb 352
875             clearcase 371
876             ulistproc 372
877             legent-1 373
878             legent-2 374
879             hassle 375
880             nip 376
881             tnetos 377
882             dsetos 378
883             is99c 379
884             is99s 380
885             hp-collector 381
886             hp-managed-node 382
887             hp-alarm-mgr 383
888             arns 384
889             ibm-app 385
890             asa 386
891             aurp 387
892             unidata-ldm 388
893             ldap 389
894             uis 390
895             synotics-relay 391
896             synotics-broker 392
897             dis 393
898             embl-ndt 394
899             netcp 395
900             netware-ip 396
901             mptn 397
902             kryptolan 398
903             iso-tsap-c2 399
904             work-sol 400
905             ups 401
906             genie 402
907             decap 403
908             nced 404
909             ncld 405
910             imsp 406
911             timbuktu 407
912             prm-sm 408
913             prm-nm 409
914             decladebug 410
915             rmt 411
916             synoptics-trap 412
917             smsp 413
918             infoseek 414
919             bnet 415
920             silverplatter 416
921             onmux 417
922             hyper-g 418
923             ariel1 419
924             smpte 420
925             ariel2 421
926             ariel3 422
927             opc-job-start 423
928             opc-job-track 424
929             icad-el 425
930             smartsdp 426
931             svrloc 427
932             ocs_cmu 428
933             ocs_amu 429
934             utmpsd 430
935             utmpcd 431
936             iasd 432
937             nnsp 433
938             mobileip-agent 434
939             mobilip-mn 435
940             dna-cml 436
941             comscm 437
942             dsfgw 438
943             dasp 439
944             sgcp 440
945             decvms-sysmgt 441
946             cvc_hostd 442
947             https 443
948             shttp 443
949             snpp 444
950             microsoft-ds 445
951             ddm-rdb 446
952             ddm-dfm 447
953             ddm-byte 448
954             as-servermap 449
955             tserver 450
956             sfs-smp-net 451
957             sfs-config 452
958             creativeserver 453
959             contentserver 454
960             creativepartnr 455
961             macon-udp 456
962             scohelp 457
963             appleqtc 458
964             ampr-rcmd 459
965             skronk 460
966             datarampsrv 461
967             datasurfsrv 461
968             datarampsrvsec 462
969             datasurfsrvsec 462
970             alpes 463
971             kpasswd 464
972             smtps 465
973             ssmtp 465
974             digital-vrc 466
975             mylex-mapd 467
976             photuris 468
977             rcp 469
978             scx-proxy 470
979             mondex 471
980             ljk-login 472
981             hybrid-pop 473
982             tn-tl-w2 474
983             tn-tl-fd1 476
984             ss7ns 477
985             spsc 478
986             iafserver 479
987             iafdbase 480
988             ph 481
989             bgs-nsi 482
990             ulpnet 483
991             integra-sme 484
992             powerburst 485
993             avian 486
994             saft 487
995             gss-http 488
996             nest-protocol 489
997             micom-pfs 490
998             go-login 491
999             ticf-1 492
1000             ticf-2 493
1001             pov-ray 494
1002             intecourier 495
1003             pim-rp-disc 496
1004             dantz 497
1005             siam 498
1006             iso-ill 499
1007             isakmp 500
1008             stmf 501
1009             asa-appl-proto 502
1010             intrinsa 503
1011             citadel 504
1012             mailbox-lm 505
1013             ohimsrv 506
1014             crs 507
1015             xvttp 508
1016             snare 509
1017             fcp 510
1018             firstclass 510
1019             mynet 511
1020             mynet-as 511
1021             biff 512
1022             comsat 512
1023             rwho 513
1024             who 513
1025             whod 513
1026             syslog 514
1027             printer 515
1028             spooler 515
1029             videotex 516
1030             otalk 517
1031             talk 517
1032             ntalk 518
1033             unixtime 519
1034             utime 519
1035             route 520
1036             routed 520
1037             router 520
1038             ripng 521
1039             ulp 522
1040             ncp 524
1041             timed 525
1042             timeserver 525
1043             newdate 526
1044             tempo 526
1045             stx 527
1046             custix 528
1047             courier 530
1048             rpc 530
1049             chat 531
1050             conference 531
1051             netnews 532
1052             readnews 532
1053             netwall 533
1054             mm-admin 534
1055             iiop 535
1056             opalis-rdv 536
1057             netmsp 537
1058             gdomap 538
1059             apertus-ldp 539
1060             uucp 540
1061             uucpd 540
1062             uucp-rlogin 541
1063             commerce 542
1064             klogin 543
1065             krcmd 544
1066             kshell 544
1067             appleqtcsrvr 545
1068             dhcpv6-client 546
1069             dhcpv6-server 547
1070             afpovertcp 548
1071             idfp 549
1072             new-rwho 550
1073             new-who 550
1074             cybercash 551
1075             deviceshare 552
1076             pirp 553
1077             rtsp 554
1078             dsf 555
1079             brfs 556
1080             remotefs 556
1081             rfs 556
1082             rfs_server 556
1083             openvms-sysipc 557
1084             sdnskmp 558
1085             teedtap 559
1086             rmonitor 560
1087             rmonitord 560
1088             monitor 561
1089             chcmd 562
1090             chshell 562
1091             nntps 563
1092             snntp 563
1093             9pfs 564
1094             whoami 565
1095             streettalk 566
1096             banyan-rpc 567
1097             ms-shuttle 568
1098             ms-rome 569
1099             demon 570
1100             meter_demon 570
1101             meterd 570
1102             meter 571
1103             udemon 571
1104             sonar 572
1105             banyan-vip 573
1106             ftp-agent 574
1107             vemmi 575
1108             ipcd 576
1109             vnas 577
1110             ipdd 578
1111             decbsrv 579
1112             sntp-heartbeat 580
1113             bdp 581
1114             scc-security 582
1115             philips-vc 583
1116             keyserver 584
1117             imap4-ssl 585
1118             password-chg 586
1119             submission 587
1120             ipcserver 600
1121             urm 606
1122             nqs 607
1123             sift-uft 608
1124             npmp-trap 609
1125             npmp-local 610
1126             npmp-gui 611
1127             hmmp-ind 612
1128             hmmp-op 613
1129             sshell 614
1130             sslshell 614
1131             sco-inetmgr 615
1132             sco-sysmgr 616
1133             sco-dtmgr 617
1134             dei-icda 618
1135             digital-evm 619
1136             sco-websrvrmgr 620
1137             escp-ip 621
1138             servstat 633
1139             ginad 634
1140             rlzdbase 635
1141             ldaps 636
1142             sldap 636
1143             lanserver 637
1144             doom 666
1145             mdqs 666
1146             disclose 667
1147             mecomm 668
1148             meregister 669
1149             vacdsm-sws 670
1150             vacdsm-app 671
1151             vpps-qua 672
1152             cimplex 673
1153             acap 674
1154             elcsd 704
1155             errlog 704
1156             agentx 705
1157             entrust-kmsh 709
1158             entrust-ash 710
1159             netviewdm1 729
1160             netviewdm2 730
1161             netviewdm3 731
1162             netgw 741
1163             netrcs 742
1164             flexlm 744
1165             fujitsu-dev 747
1166             ris-cm 748
1167             kerberos-adm 749
1168             kerberos-iv 750
1169             loadav 750
1170             pump 751
1171             qrh 752
1172             rrh 753
1173             tell 754
1174             nlogin 758
1175             con 759
1176             ns 760
1177             rxe 761
1178             quotad 762
1179             cycleserv 763
1180             omserv 764
1181             webster 765
1182             phone 767
1183             phonebook 767
1184             vid 769
1185             cadlock 770
1186             rtip 771
1187             cycleserv2 772
1188             notify 773
1189             acmaint_dbd 774
1190             acmaint_transd 775
1191             wpages 776
1192             wpgs 780
1193             concert 786
1194             mdbs_daemon 800
1195             device 801
1196             iclcnet-locate 886
1197             iclcnet_svinfo 887
1198             accessbuilder 888
1199             ftps-data 989
1200             ftps 990
1201             nas 991
1202             stelnet 992
1203             telnets 992
1204             imap4s 993
1205             imaps 993
1206             simap4 993
1207             ircs 994
1208             sirc 994
1209             pop3s 995
1210             spop3 995
1211             vsinet 996
1212             maitrd 997
1213             puparp 998
1214             applix 999
1215             puprouter 999
1216             ock 1000
1217             blackjack 1025
1218             iad1 1030
1219             iad2 1031
1220             iad3 1032
1221             neod1 1047
1222             neod2 1048
1223             nim 1058
1224             nimreg 1059
1225             instl_boots 1067
1226             instl_bootc 1068
1227             socks 1080
1228             ansoft-lm-1 1083
1229             ansoft-lm-2 1084
1230             nfsd-keepalive 1110
1231             lmsocialserver 1111
1232             murray 1123
1233             nfa 1155
1234             mc-client 1180
1235             lupa 1212
1236             nerv 1222
1237             hermes 1248
1238             bmc-patroldb 1313
1239             pdps 1314
1240             vpjp 1345
1241             alta-ana-lm 1346
1242             bbn-mmc 1347
1243             bbn-mmx 1348
1244             sbook 1349
1245             editbench 1350
1246             equationbuilder 1351
1247             lotusnote 1352
1248             relief 1353
1249             rightbrain 1354
1250             edge 1355
1251             intuitive 1355
1252             intuitive-edge 1355
1253             cuillamartin 1356
1254             pegboard 1357
1255             connlcli 1358
1256             ftsrv 1359
1257             mimer 1360
1258             linx 1361
1259             timeflies 1362
1260             ndm-requester 1363
1261             ndm-server 1364
1262             adapt-sna 1365
1263             netware-csp 1366
1264             dcs 1367
1265             screencast 1368
1266             gv-us 1369
1267             us-gv 1370
1268             fc-cli 1371
1269             fc-ser 1372
1270             chromagrafx 1373
1271             molly 1374
1272             bytex 1375
1273             ibm-pps 1376
1274             cichlid 1377
1275             elan 1378
1276             dbreporter 1379
1277             telesis-licman 1380
1278             apple-licman 1381
1279             gwha 1383
1280             os-licman 1384
1281             atex_elmd 1385
1282             checksum 1386
1283             cadsi-lm 1387
1284             objective-dbc 1388
1285             iclpv-dm 1389
1286             iclpv-sc 1390
1287             iclpv-sas 1391
1288             iclpv-pm 1392
1289             iclpv-nls 1393
1290             iclpv-nlc 1394
1291             iclpv-wsm 1395
1292             dvl-activemail 1396
1293             audio-activmail 1397
1294             video-activmail 1398
1295             cadkey-licman 1399
1296             cadkey-tablet 1400
1297             usim 1400
1298             goldleaf-licman 1401
1299             prm-sm-np 1402
1300             prm-nm-np 1403
1301             igi-lm 1404
1302             ibm-res 1405
1303             netlabs-lm 1406
1304             dbsa-lm 1407
1305             sophia-lm 1408
1306             here-lm 1409
1307             hiq 1410
1308             af 1411
1309             innosys 1412
1310             innosys-acl 1413
1311             ibm-mqseries 1414
1312             dbstar 1415
1313             novell-lu6.2 1416
1314             timbuktu-srv2 1418
1315             timbuktu-srv3 1419
1316             timbuktu-srv4 1420
1317             gandalf-lm 1421
1318             autodesk-lm 1422
1319             essbase 1423
1320             hybrid 1424
1321             zion-lm 1425
1322             sais 1426
1323             mloadd 1427
1324             informatik-lm 1428
1325             nms 1429
1326             tpdu 1430
1327             rgtp 1431
1328             blueberry-lm 1432
1329             ms-sql-s 1433
1330             ms-sql-m 1434
1331             ibm-cics 1435
1332             saism 1436
1333             tabula 1437
1334             eicon-server 1438
1335             eicon-x25 1439
1336             eicon-slp 1440
1337             cadis-1 1441
1338             cadis-2 1442
1339             ies-lm 1443
1340             marcam-lm 1444
1341             proxima-lm 1445
1342             ora-lm 1446
1343             apri-lm 1447
1344             oc-lm 1448
1345             peport 1449
1346             dwf 1450
1347             infoman 1451
1348             gtegsc-lm 1452
1349             genie-lm 1453
1350             esl-lm 1455
1351             dca 1456
1352             valisys-lm 1457
1353             nrcabq-lm 1458
1354             proshare1 1459
1355             proshare2 1460
1356             ibm_wrless_lan 1461
1357             world-lm 1462
1358             nucleus 1463
1359             msl_lmd 1464
1360             pipes 1465
1361             oceansoft-lm 1466
1362             aal-lm 1469
1363             uaiact 1470
1364             csdmbase 1471
1365             csdm 1472
1366             openmath 1473
1367             telefinder 1474
1368             taligent-lm 1475
1369             clvm-cfg 1476
1370             ms-sna-server 1477
1371             ms-sna-base 1478
1372             dberegister 1479
1373             pacerforum 1480
1374             airs 1481
1375             miteksys-lm 1482
1376             afs 1483
1377             confluent 1484
1378             lansource 1485
1379             nms_topo_serv 1486
1380             localinfosrvr 1487
1381             docstor 1488
1382             dmdocbroker 1489
1383             insitu-conf 1490
1384             anynetgateway 1491
1385             stone-design-1 1492
1386             netmap_lm 1493
1387             ica 1494
1388             cvc 1495
1389             liberty-lm 1496
1390             rfx-lm 1497
1391             watcom-sql 1498
1392             fhc 1499
1393             vlsi-lm 1500
1394             saiscm 1501
1395             shivadiscovery 1502
1396             databeam 1503
1397             imtc-mcs 1503
1398             evb-elm 1504
1399             funkproxy 1505
1400             utcd 1506
1401             symplex 1507
1402             diagmond 1508
1403             robcad-lm 1509
1404             mvx-lm 1510
1405             3l-l1 1511
1406             wins 1512
1407             fujitsu-dtc 1513
1408             fujitsu-dtcns 1514
1409             ifor-protocol 1515
1410             vpad 1516
1411             vpac 1517
1412             vpvd 1518
1413             vpvc 1519
1414             atm-zip-office 1520
1415             ncube-lm 1521
1416             cichild-lm 1523
1417             ingreslock 1524
1418             orasrv 1525
1419             prospero-np 1525
1420             pdap-np 1526
1421             tlisrv 1527
1422             mciautoreg 1528
1423             coauthor 1529
1424             rap-service 1530
1425             rap-listen 1531
1426             miroconnect 1532
1427             virtual-places 1533
1428             micromuse-lm 1534
1429             ampr-info 1535
1430             ampr-inter 1536
1431             sdsc-lm 1537
1432             3ds-lm 1538
1433             intellistor-lm 1539
1434             rds 1540
1435             rds2 1541
1436             gridgen-elmd 1542
1437             simba-cs 1543
1438             aspeclmd 1544
1439             vistium-share 1545
1440             abbaccuray 1546
1441             laplink 1547
1442             axon-lm 1548
1443             shivasound 1549
1444             3m-image-lm 1550
1445             hecmtl-db 1551
1446             pciarray 1552
1447             sna-cs 1553
1448             caci-lm 1554
1449             livelan 1555
1450             ashwin 1556
1451             arbortext-lm 1557
1452             xingmpeg 1558
1453             web2host 1559
1454             asci-val 1560
1455             facilityview 1561
1456             pconnectmgr 1562
1457             cadabra-lm 1563
1458             pay-per-view 1564
1459             windd 1565
1460             winddlb 1565
1461             corelvideo 1566
1462             jlicelmd 1567
1463             tsspmap 1568
1464             ets 1569
1465             orbixd 1570
1466             rdb-dbs-disp 1571
1467             chip-lm 1572
1468             itscomm-ns 1573
1469             mvel-lm 1574
1470             oraclenames 1575
1471             moldflow-lm 1576
1472             hypercube-lm 1577
1473             jacobus-lm 1578
1474             tn-tl-r2 1580
1475             vmf-msg-port 1581
1476             msims 1582
1477             simbaexpress 1583
1478             tn-tl-fd2 1584
1479             intv 1585
1480             ibm-abtact 1586
1481             pra_elmd 1587
1482             triquest-lm 1588
1483             vqp 1589
1484             gemini-lm 1590
1485             ncpm-pm 1591
1486             commonspace 1592
1487             mainsoft-lm 1593
1488             sixtrak 1594
1489             radio 1595
1490             radio-bc 1596
1491             orbplus-iiop 1597
1492             picknfs 1598
1493             simbaservices 1599
1494             issd 1600
1495             aas 1601
1496             dec-inspect 1602
1497             picodbc 1603
1498             icabrowser 1604
1499             slp 1605
1500             slm-api 1606
1501             stt 1607
1502             smart-lm 1608
1503             isysg-lm 1609
1504             taurus-wh 1610
1505             ill 1611
1506             netbill-trans 1612
1507             netbill-keyrep 1613
1508             netbill-cred 1614
1509             netbill-auth 1615
1510             netbill-prod 1616
1511             nimrod-agent 1617
1512             skytelnet 1618
1513             xs-openstorage 1619
1514             faxportwinport 1620
1515             softdataphone 1621
1516             ontime 1622
1517             jaleosnd 1623
1518             udp-sr-port 1624
1519             svs-omagent 1625
1520             cncp 1636
1521             cnap 1637
1522             cnip 1638
1523             cert-initiator 1639
1524             cert-responder 1640
1525             invision 1641
1526             isis-am 1642
1527             isis-ambc 1643
1528             datametrics 1645
1529             sa-msg-port 1646
1530             rsap 1647
1531             concurrent-lm 1648
1532             inspect 1649
1533             nkd 1650
1534             shiva_confsrvr 1651
1535             xnmp 1652
1536             alphatech-lm 1653
1537             stargatealerts 1654
1538             dec-mbadmin 1655
1539             dec-mbadmin-h 1656
1540             fujitsu-mmpdc 1657
1541             sixnetudr 1658
1542             sg-lm 1659
1543             skip-mc-gikreq 1660
1544             netview-aix-1 1661
1545             netview-aix-2 1662
1546             netview-aix-3 1663
1547             netview-aix-4 1664
1548             netview-aix-5 1665
1549             netview-aix-6 1666
1550             netview-aix-7 1667
1551             netview-aix-8 1668
1552             netview-aix-9 1669
1553             netview-aix-10 1670
1554             netview-aix-11 1671
1555             netview-aix-12 1672
1556             proshare-mc-1 1673
1557             proshare-mc-2 1674
1558             pdp 1675
1559             netcomm2 1676
1560             groupwise 1677
1561             prolink 1678
1562             darcorp-lm 1679
1563             microcom-sbp 1680
1564             sd-elmd 1681
1565             lanyon-lantern 1682
1566             ncpm-hip 1683
1567             snaresecure 1684
1568             n2nremote 1685
1569             cvmon 1686
1570             nsjtp-ctrl 1687
1571             nsjtp-data 1688
1572             firefox 1689
1573             ng-umds 1690
1574             empire-empuma 1691
1575             sstsys-lm 1692
1576             rrirtr 1693
1577             rrimwm 1694
1578             rrilwm 1695
1579             rrifmm 1696
1580             rrisat 1697
1581             rsvp-encap-1 1698
1582             rsvp-encap-2 1699
1583             mps-raft 1700
1584             l2f 1701
1585             deskshare 1702
1586             hb-engine 1703
1587             bcs-broker 1704
1588             slingshot 1705
1589             jetform 1706
1590             vdmplay 1707
1591             gat-lmd 1708
1592             centra 1709
1593             impera 1710
1594             pptconference 1711
1595             registrar 1712
1596             conferencetalk 1713
1597             sesi-lm 1714
1598             houdini-lm 1715
1599             xmsg 1716
1600             fj-hdnet 1717
1601             h323gatedisc 1718
1602             h323gatestat 1719
1603             h323hostcall 1720
1604             caicci 1721
1605             hks-lm 1722
1606             pptp 1723
1607             csbphonemaster 1724
1608             iden-ralp 1725
1609             winddx 1727
1610             telindus 1728
1611             citynl 1729
1612             roketz 1730
1613             msiccp 1731
1614             proxim 1732
1615             sipat 1733
1616             cambertx-lm 1734
1617             privatechat 1735
1618             street-stream 1736
1619             ultimad 1737
1620             gamegen1 1738
1621             webaccess 1739
1622             encore 1740
1623             cisco-net-mgmt 1741
1624             3com-nsd 1742
1625             cinegrfx-lm 1743
1626             ncpm-ft 1744
1627             remote-winsock 1745
1628             ftrapid-1 1746
1629             ftrapid-2 1747
1630             oracle-em1 1748
1631             aspen-services 1749
1632             sslp 1750
1633             swiftnet 1751
1634             lofr-lm 1752
1635             translogic-lm 1753
1636             oracle-em2 1754
1637             ms-streaming 1755
1638             capfast-lmd 1756
1639             cnhrp 1757
1640             tftp-mcast 1758
1641             spss-lm 1759
1642             www-ldap-gw 1760
1643             cft-0 1761
1644             cft-1 1762
1645             cft-2 1763
1646             cft-3 1764
1647             cft-4 1765
1648             cft-5 1766
1649             cft-6 1767
1650             cft-7 1768
1651             bmc-net-adm 1769
1652             bmc-net-svc 1770
1653             vaultbase 1771
1654             essweb-gw 1772
1655             kmscontrol 1773
1656             global-dtserv 1774
1657             femis 1776
1658             powerguardian 1777
1659             prodigy-internet 1778
1660             pharmasoft 1779
1661             dpkeyserv 1780
1662             answersoft-lm 1781
1663             hp-hcip 1782
1664             fjris 1783
1665             finle-lm 1784
1666             windlm 1785
1667             funk-logger 1786
1668             funk-license 1787
1669             psmond 1788
1670             hello 1789
1671             nmsp 1790
1672             ea1 1791
1673             ibm-dt-2 1792
1674             rsc-robot 1793
1675             cera-bcm 1794
1676             dpi-proxy 1795
1677             vocaltec-admin 1796
1678             uma 1797
1679             etp 1798
1680             netrisk 1799
1681             ansys-lm 1800
1682             msmq 1801
1683             concomp1 1802
1684             hp-hcip-gwy 1803
1685             enl 1804
1686             enl-name 1805
1687             musiconline 1806
1688             fhsp 1807
1689             oracle-vp2 1808
1690             oracle-vp1 1809
1691             jerand-lm 1810
1692             scientia-sdb 1811
1693             radius 1812
1694             radius-acct 1813
1695             tdp-suite 1814
1696             mmpft 1815
1697             etftp 1818
1698             plato-lm 1819
1699             mcagent 1820
1700             donnyworld 1821
1701             es-elmd 1822
1702             unisys-lm 1823
1703             metrics-pas 1824
1704             fjicl-tep-a 1901
1705             fjicl-tep-b 1902
1706             linkname 1903
1707             fjicl-tep-c 1904
1708             sugp 1905
1709             tpmd 1906
1710             tportmapperreq 1906
1711             intrastar 1907
1712             dawn 1908
1713             global-wlink 1909
1714             armadp 1913
1715             elm-momentum 1914
1716             facelink 1915
1717             persoft 1916
1718             noagent 1917
1719             can-nds 1918
1720             can-dch 1919
1721             can-ferret 1920
1722             close-combat 1944
1723             dialogic-elmd 1945
1724             tekpls 1946
1725             eye2eye 1948
1726             ismaeasdaqlive 1949
1727             ismaeasdaqtest 1950
1728             bcs-lmserver 1951
1729             dlsrap 1973
1730             foliocorp 1985
1731             licensedaemon 1986
1732             tr-rsrb-p1 1987
1733             tr-rsrb-p2 1988
1734             mshnet 1989
1735             tr-rsrb-p3 1989
1736             stun-p1 1990
1737             stun-p2 1991
1738             ipsendmsg 1992
1739             stun-p3 1992
1740             snmp-tcp-port 1993
1741             stun-port 1994
1742             perf-port 1995
1743             tr-rsrb-port 1996
1744             gdp-port 1997
1745             x25-svc-port 1998
1746             tcp-id-port 1999
1747             callbook 2000
1748             curry 2001
1749             wizard 2001
1750             globe 2002
1751             emce 2004
1752             oracle 2005
1753             raid 2006
1754             raid-cc 2006
1755             raid-am 2007
1756             terminaldb 2008
1757             whosockami 2009
1758             pipe_server 2010
1759             servserv 2011
1760             raid-ac 2012
1761             raid-cd 2013
1762             raid-sf 2014
1763             raid-cs 2015
1764             bootserver 2016
1765             bootclient 2017
1766             rellpack 2018
1767             about 2019
1768             xinupageserver 2020
1769             xinuexpansion1 2021
1770             xinuexpansion2 2022
1771             xinuexpansion3 2023
1772             xinuexpansion4 2024
1773             xribs 2025
1774             scrabble 2026
1775             shadowserver 2027
1776             submitserver 2028
1777             device2 2030
1778             blackboard 2032
1779             glogger 2033
1780             scoremgr 2034
1781             imsldoc 2035
1782             objectmanager 2038
1783             lam 2040
1784             interbase 2041
1785             isis 2042
1786             isis-bcast 2043
1787             rimsl 2044
1788             cdfunc 2045
1789             sdfunc 2046
1790             dls 2047
1791             dls-monitor 2048
1792             nfs 2049
1793             shilp 2049
1794             dlsrpn 2065
1795             dlswpn 2067
1796             zephyr-srv 2102
1797             zephyr-clt 2103
1798             zephyr-hm 2104
1799             minipay 2105
1800             mc-gt-srv 2180
1801             ats 2201
1802             imtc-map 2202
1803             kali 2213
1804             unreg-ab1 2221
1805             unreg-ab2 2222
1806             inreg-ab3 2223
1807             ivs-video 2232
1808             infocrypt 2233
1809             directplay 2234
1810             sercomm-wlink 2235
1811             nani 2236
1812             optech-port1-lm 2237
1813             aviva-sna 2238
1814             imagequery 2239
1815             ivsd 2241
1816             xmquery 2279
1817             lnvpoller 2280
1818             lnvconsole 2281
1819             lnvalarm 2282
1820             lnvstatus 2283
1821             lnvmaps 2284
1822             lnvmailmon 2285
1823             nas-metering 2286
1824             dna 2287
1825             netml 2288
1826             pehelp 2307
1827             sdhelp 2308
1828             cvspserver 2401
1829             rtsserv 2500
1830             rtsclient 2501
1831             netrek 2592
1832             tqdata 2700
1833             www-dev 2784
1834             aic-np 2785
1835             aic-oncrpc 2786
1836             piccolo 2787
1837             fryeserv 2788
1838             media-agent 2789
1839             mao 2908
1840             funk-dialout 2909
1841             tdaccess 2910
1842             blockade 2911
1843             epicon 2912
1844             hbci 3000
1845             redwood-broker 3001
1846             exlm-agent 3002
1847             ping-pong 3010
1848             trusted-web 3011
1849             hlserver 3047
1850             pctrader 3048
1851             nsws 3049
1852             vmodem 3141
1853             rdc-wh-eos 3142
1854             seaview 3143
1855             tarantella 3144
1856             csi-lfap 3145
1857             mc-brk-srv 3180
1858             ccmail 3264
1859             altav-tunnel 3265
1860             ns-cfg-server 3266
1861             ibm-dial-out 3267
1862             msft-gc 3268
1863             msft-gc-ssl 3269
1864             verismart 3270
1865             csoft-prev 3271
1866             user-manager 3272
1867             sxmp 3273
1868             ordinox-server 3274
1869             samd 3275
1870             maxim-asics 3276
1871             dec-notes 3333
1872             bmap 3421
1873             prsvp 3455
1874             vat 3456
1875             vat-control 3457
1876             d3winosfi 3458
1877             integral 3459
1878             udt_os 3900
1879             mapper-nodemgr 3984
1880             mapper-mapethd 3985
1881             mapper-ws_ethd 3986
1882             terabase 4000
1883             netcheque 4008
1884             chimera-hwm 4009
1885             samsung-unidex 4010
1886             altserviceboot 4011
1887             pda-gate 4012
1888             acl-manager 4013
1889             nuts_dem 4132
1890             nuts_bootp 4133
1891             nifty-hmi 4134
1892             oirtgsvc 4141
1893             oidocsvc 4142
1894             oidsr 4143
1895             rwhois 4321
1896             unicall 4343
1897             vinainstall 4344
1898             krb524 4444
1899             nv-video 4444
1900             upnotifyp 4445
1901             n1-fwp 4446
1902             n1-rmgmt 4447
1903             asc-slmd 4448
1904             arcryptoip 4449
1905             camp 4450
1906             ctisystemmsg 4451
1907             ctiprogramload 4452
1908             nssalertmgr 4453
1909             nssagentmgr 4454
1910             sae-urn 4500
1911             urn-x-cdchoice 4501
1912             rfa 4672
1913             commplex-main 5000
1914             commplex-link 5001
1915             rfe 5002
1916             claris-fmpro 5003
1917             avt-profile-1 5004
1918             avt-profile-2 5005
1919             telelpathstart 5010
1920             telelpathattack 5011
1921             zenginkyo-1 5020
1922             zenginkyo-2 5021
1923             mmcc 5050
1924             rmonitor_secure 5145
1925             atmp 5150
1926             aol 5190
1927             aol-1 5191
1928             aol-2 5192
1929             aol-3 5193
1930             padl2sim 5236
1931             hacl-hb 5300
1932             hacl-gs 5301
1933             hacl-cfg 5302
1934             hacl-probe 5303
1935             hacl-local 5304
1936             hacl-test 5305
1937             sun-mc-grp 5306
1938             sco-aip 5307
1939             cfengine 5308
1940             jprinter 5309
1941             outlaws 5310
1942             tmlogin 5311
1943             excerpt 5400
1944             excerpts 5401
1945             mftp 5402
1946             hpoms-ci-lstn 5403
1947             hpoms-dps-lstn 5404
1948             netsupport 5405
1949             systemics-sox 5406
1950             foresyte-clear 5407
1951             foresyte-sec 5408
1952             salient-dtasrv 5409
1953             salient-usrmgr 5410
1954             actnet 5411
1955             continuus 5412
1956             wwiotalk 5413
1957             statusd 5414
1958             ns-server 5415
1959             sns-gateway 5416
1960             sns-agent 5417
1961             mcntp 5418
1962             dj-ice 5419
1963             cylink-c 5420
1964             personal-agent 5555
1965             esmmanager 5600
1966             esmagent 5601
1967             a1-msc 5602
1968             a1-bs 5603
1969             a3-sdunode 5604
1970             a4-sdunode 5605
1971             pcanywheredata 5631
1972             pcanywherestat 5632
1973             rrac 5678
1974             dccm 5679
1975             proshareaudio 5713
1976             prosharevideo 5714
1977             prosharedata 5715
1978             prosharerequest 5716
1979             prosharenotify 5717
1980             openmail 5729
1981             fcopy-server 5745
1982             openmailg 5755
1983             x500ms 5757
1984             openmailns 5766
1985             s-openmail 5767
1986             x11 6000
1987             softcm 6110
1988             spc 6111
1989             dtspcd 6112
1990             backup-express 6123
1991             meta-corp 6141
1992             aspentec-lm 6142
1993             watershed-lm 6143
1994             statsci1-lm 6144
1995             statsci2-lm 6145
1996             lonewolf-lm 6146
1997             montage-lm 6147
1998             tal-pod 6149
1999             crip 6253
2000             clariion-evr01 6389
2001             lvision-lm 6471
2002             xdsxdm 6558
2003             vocaltec-gold 6670
2004             vision_server 6672
2005             vision_elmd 6673
2006             ambit-lm 6831
2007             acmsoda 6969
2008             afs3-fileserver 7000
2009             afs3-callback 7001
2010             afs3-prserver 7002
2011             afs3-vlserver 7003
2012             afs3-kaserver 7004
2013             afs3-volser 7005
2014             afs3-errors 7006
2015             afs3-bos 7007
2016             afs3-update 7008
2017             afs3-rmtsys 7009
2018             ups-onlinet 7010
2019             lazy-ptop 7099
2020             font-service 7100
2021             fodms 7200
2022             dlip 7201
2023             winqedit 7395
2024             pmdmgr 7426
2025             oveadmgr 7427
2026             ovladmgr 7428
2027             opi-sock 7429
2028             xmpv7 7430
2029             pmd 7431
2030             telops-lmd 7491
2031             pafec-lm 7511
2032             cbt 7777
2033             accu-lmgr 7781
2034             quest-vista 7980
2035             irdmi2 7999
2036             irdmi 8000
2037             pro-ed 8032
2038             npmp 8450
2039             ddi-udp-1 8888
2040             ddi-udp-2 8889
2041             ddi-udp-3 8890
2042             ddi-udp-4 8891
2043             ddi-udp-5 8892
2044             ddi-udp-6 8893
2045             ddi-udp-7 8894
2046             cslistener 9000
2047             man 9535
2048             sd 9876
2049             distinct32 9998
2050             distinct 9999
2051             ndmp 10000
2052             tsaf 12753
2053             dsmcc-config 13818
2054             dsmcc-session 13819
2055             dsmcc-passthru 13820
2056             dsmcc-download 13821
2057             dsmcc-ccp 13822
2058             isode-dua 17007
2059             biimenu 18000
2060             webphone 21845
2061             netspeak-is 21846
2062             netspeak-cs 21847
2063             netspeak-acd 21848
2064             netspeak-cps 21849
2065             wnn6 22273
2066             vocaltec-phone 22555
2067             aws-brf 22800
2068             brf-gw 22951
2069             icl-twobase1 25000
2070             icl-twobase2 25001
2071             icl-twobase3 25002
2072             icl-twobase4 25003
2073             icl-twobase5 25004
2074             icl-twobase6 25005
2075             icl-twobase7 25006
2076             icl-twobase8 25007
2077             icl-twobase9 25008
2078             icl-twobase10 25009
2079             vocaltec-hos 25793
2080             wnn6-ds 26208
2081             dbbrowse 47557
2082             alc 47806
2083             ap 47806
2084             bacnet 47808
2085             ";
2086              
2087             my %tcp_ports;
2088              
2089             my $tcp_ports = "tcpmux 1
2090             rje 5
2091             echo 7
2092             discard 9
2093             null 9
2094             sink 9
2095             systat 11
2096             daytime 13
2097             netstat 15
2098             qotd 17
2099             quote 17
2100             msp 18
2101             chargen 19
2102             source 19
2103             ttytst 19
2104             ftp-data 20
2105             ftp 21
2106             ssh 22
2107             telnet 23
2108             mail 25
2109             smtp 25
2110             nsw-fe 27
2111             msg-icp 29
2112             msg-auth 31
2113             dsp 33
2114             time 37
2115             rap 38
2116             rlp 39
2117             graphics 41
2118             name 42
2119             nameserver 42
2120             nicname 43
2121             whois 43
2122             mpm-flags 44
2123             mpm 45
2124             mpm-snd 46
2125             ni-ftp 47
2126             auditd 48
2127             tacacs 49
2128             re-mail-ck 50
2129             la-maint 51
2130             xns-time 52
2131             dns 53
2132             domain 53
2133             xns-ch 54
2134             isi-gl 55
2135             xns-auth 56
2136             xns-mail 58
2137             ni-mail 61
2138             acas 62
2139             whois++ 63
2140             covia 64
2141             tacacs-ds 65
2142             sql*net 66
2143             bootp 67
2144             bootps 67
2145             bootpc 68
2146             tftp 69
2147             gopher 70
2148             netrjs-1 71
2149             netrjs-2 72
2150             netrjs-3 73
2151             netrjs-4 74
2152             deos 76
2153             vettcp 78
2154             finger 79
2155             http 80
2156             www 80
2157             www-http 80
2158             hosts2-ns 81
2159             xfer 82
2160             ctf 84
2161             mfcobol 86
2162             kerberos 88
2163             su-mit-tg 89
2164             dnsix 90
2165             mit-dov 91
2166             npp 92
2167             dcp 93
2168             objcall 94
2169             supdup 95
2170             dixie 96
2171             swift-rvf 97
2172             tacnews 98
2173             metagram 99
2174             newacct 100
2175             hostname 101
2176             hostnames 101
2177             iso-tsap 102
2178             gppitnp 103
2179             acr-nema 104
2180             csnet-ns 105
2181             cso 105
2182             3com-tsmux 106
2183             rtelnet 107
2184             snagas 108
2185             pop2 109
2186             pop3 110
2187             sunrpc 111
2188             mcidas 112
2189             auth 113
2190             ident 113
2191             audionews 114
2192             sftp 115
2193             ansanotify 116
2194             uucp-path 117
2195             sqlserv 118
2196             nntp 119
2197             cfdptkt 120
2198             erpc 121
2199             smakynet 122
2200             ntp 123
2201             ansatrader 124
2202             locus-map 125
2203             unitary 126
2204             locus-con 127
2205             gss-xlicen 128
2206             pwdgen 129
2207             cisco-fna 130
2208             cisco-tna 131
2209             cisco-sys 132
2210             statsrv 133
2211             ingres-net 134
2212             epmap 135
2213             profile 136
2214             netbios-ns 137
2215             netbios-dgm 138
2216             netbios-ssn 139
2217             emfis-data 140
2218             emfis-cntl 141
2219             bl-idm 142
2220             imap 143
2221             news 144
2222             uaac 145
2223             iso-tp0 146
2224             iso-ip 147
2225             jargon 148
2226             aed-512 149
2227             sql-net 150
2228             hems 151
2229             bftp 152
2230             sgmp 153
2231             netsc-prod 154
2232             netsc-dev 155
2233             sqlsrv 156
2234             knet-cmp 157
2235             pcmail-srv 158
2236             nss-routing 159
2237             sgmp-traps 160
2238             snmp 161
2239             snmptrap 162
2240             cmip-man 163
2241             cmip-agent 164
2242             xns-courier 165
2243             s-net 166
2244             namp 167
2245             rsvd 168
2246             send 169
2247             print-srv 170
2248             multiplex 171
2249             cl/1 172
2250             xyplex-mux 173
2251             mailq 174
2252             vmnet 175
2253             genrad-mux 176
2254             xdmcp 177
2255             nextstep 178
2256             bgp 179
2257             ris 180
2258             unify 181
2259             audit 182
2260             ocbinder 183
2261             ocserver 184
2262             remote-kis 185
2263             kis 186
2264             aci 187
2265             mumps 188
2266             qft 189
2267             gacp 190
2268             prospero 191
2269             osu-nms 192
2270             srmp 193
2271             irc 194
2272             dn6-nlm-aud 195
2273             dn6-smm-red 196
2274             dlsold 197
2275             dls-mon 198
2276             smux 199
2277             src 200
2278             at-rtmp 201
2279             at-nbp 202
2280             at-3 203
2281             at-echo 204
2282             at-5 205
2283             at-zis 206
2284             at-7 207
2285             at-8 208
2286             qmtp 209
2287             z39.50 210
2288             914c/g 211
2289             anet 212
2290             ipx 213
2291             vmpwscs 214
2292             softpc 215
2293             cailic 216
2294             dbase 217
2295             mpp 218
2296             uarps 219
2297             imap3 220
2298             fln-spx 221
2299             rsh-spx 222
2300             cdc 223
2301             direct 242
2302             sur-meas 243
2303             dayna 244
2304             link 245
2305             dsp3270 246
2306             ibm-rap 256
2307             set 257
2308             yak-chat 258
2309             esro-gen 259
2310             openport 260
2311             nsiiops 261
2312             arcisdms 262
2313             hdap 263
2314             http-mgmt 280
2315             personal-link 281
2316             cableport-ax 282
2317             entrusttime 309
2318             pdap 344
2319             pawserv 345
2320             zserv 346
2321             fatserv 347
2322             csi-sgwp 348
2323             matip-type-a 350
2324             matip-type-b 351
2325             dtag-ste-sb 352
2326             clearcase 371
2327             ulistproc 372
2328             legent-1 373
2329             legent-2 374
2330             hassle 375
2331             nip 376
2332             tnetos 377
2333             dsetos 378
2334             is99c 379
2335             is99s 380
2336             hp-collector 381
2337             hp-managed-node 382
2338             hp-alarm-mgr 383
2339             arns 384
2340             ibm-app 385
2341             asa 386
2342             aurp 387
2343             unidata-ldm 388
2344             ldap 389
2345             uis 390
2346             synotics-relay 391
2347             synotics-broker 392
2348             dis 393
2349             embl-ndt 394
2350             netcp 395
2351             netware-ip 396
2352             mptn 397
2353             kryptolan 398
2354             iso-tsap-c2 399
2355             work-sol 400
2356             ups 401
2357             genie 402
2358             decap 403
2359             nced 404
2360             ncld 405
2361             imsp 406
2362             timbuktu 407
2363             prm-sm 408
2364             prm-nm 409
2365             decladebug 410
2366             rmt 411
2367             synoptics-trap 412
2368             smsp 413
2369             infoseek 414
2370             bnet 415
2371             silverplatter 416
2372             onmux 417
2373             hyper-g 418
2374             ariel1 419
2375             smpte 420
2376             ariel2 421
2377             ariel3 422
2378             opc-job-start 423
2379             opc-job-track 424
2380             icad-el 425
2381             smartsdp 426
2382             svrloc 427
2383             ocs_cmu 428
2384             ocs_amu 429
2385             utmpsd 430
2386             utmpcd 431
2387             iasd 432
2388             nnsp 433
2389             mobileip-agent 434
2390             mobilip-mn 435
2391             dna-cml 436
2392             comscm 437
2393             dsfgw 438
2394             dasp 439
2395             sgcp 440
2396             decvms-sysmgt 441
2397             cvc_hostd 442
2398             https 443
2399             shttp 443
2400             snpp 444
2401             microsoft-ds 445
2402             ddm-rdb 446
2403             ddm-dfm 447
2404             ddm-rfm 447
2405             ddm-byte 448
2406             as-servermap 449
2407             tserver 450
2408             sfs-smp-net 451
2409             sfs-config 452
2410             creativeserver 453
2411             contentserver 454
2412             creativepartnr 455
2413             macon-tcp 456
2414             scohelp 457
2415             appleqtc 458
2416             ampr-rcmd 459
2417             skronk 460
2418             datarampsrv 461
2419             datasurfsrv 461
2420             datarampsrvsec 462
2421             datasurfsrvsec 462
2422             alpes 463
2423             kpasswd 464
2424             smtps 465
2425             ssmtp 465
2426             digital-vrc 466
2427             mylex-mapd 467
2428             photuris 468
2429             rcp 469
2430             scx-proxy 470
2431             mondex 471
2432             ljk-login 472
2433             hybrid-pop 473
2434             tn-tl-w1 474
2435             tcpnethaspsrv 475
2436             tn-tl-fd1 476
2437             ss7ns 477
2438             spsc 478
2439             iafserver 479
2440             iafdbase 480
2441             ph 481
2442             bgs-nsi 482
2443             ulpnet 483
2444             integra-sme 484
2445             powerburst 485
2446             avian 486
2447             saft 487
2448             gss-http 488
2449             nest-protocol 489
2450             micom-pfs 490
2451             go-login 491
2452             ticf-1 492
2453             ticf-2 493
2454             pov-ray 494
2455             intecourier 495
2456             pim-rp-disc 496
2457             dantz 497
2458             siam 498
2459             iso-ill 499
2460             isakmp 500
2461             stmf 501
2462             asa-appl-proto 502
2463             intrinsa 503
2464             citadel 504
2465             mailbox-lm 505
2466             ohimsrv 506
2467             crs 507
2468             xvttp 508
2469             snare 509
2470             fcp 510
2471             firstclass 510
2472             mynet 511
2473             mynet-as 511
2474             exec 512
2475             login 513
2476             cmd 514
2477             rcmd 514
2478             shell 514
2479             printer 515
2480             spooler 515
2481             videotex 516
2482             otalk 517
2483             talk 517
2484             ntalk 518
2485             unixtime 519
2486             utime 519
2487             efs 520
2488             ripng 521
2489             ulp 522
2490             ibm-db2 523
2491             ncp 524
2492             timed 525
2493             timeserver 525
2494             newdate 526
2495             tempo 526
2496             stx 527
2497             custix 528
2498             irc-serv 529
2499             courier 530
2500             rpc 530
2501             chat 531
2502             conference 531
2503             netnews 532
2504             readnews 532
2505             netwall 533
2506             mm-admin 534
2507             iiop 535
2508             opalis-rdv 536
2509             netmsp 537
2510             gdomap 538
2511             apertus-ldp 539
2512             uucp 540
2513             uucpd 540
2514             uucp-rlogin 541
2515             commerce 542
2516             klogin 543
2517             krcmd 544
2518             kshell 544
2519             appleqtcsrvr 545
2520             dhcpv6-client 546
2521             dhcpv6-server 547
2522             afpovertcp 548
2523             idfp 549
2524             new-rwho 550
2525             new-who 550
2526             cybercash 551
2527             deviceshare 552
2528             pirp 553
2529             rtsp 554
2530             dsf 555
2531             brfs 556
2532             remotefs 556
2533             rfs 556
2534             rfs_server 556
2535             openvms-sysipc 557
2536             sdnskmp 558
2537             teedtap 559
2538             rmonitor 560
2539             rmonitord 560
2540             monitor 561
2541             chcmd 562
2542             chshell 562
2543             nntps 563
2544             snntp 563
2545             9pfs 564
2546             whoami 565
2547             streettalk 566
2548             banyan-rpc 567
2549             ms-shuttle 568
2550             ms-rome 569
2551             demon 570
2552             meterd 570
2553             meter 571
2554             udemon 571
2555             sonar 572
2556             banyan-vip 573
2557             ftp-agent 574
2558             vemmi 575
2559             ipcd 576
2560             vnas 577
2561             ipdd 578
2562             decbsrv 579
2563             sntp-heartbeat 580
2564             bdp 581
2565             scc-security 582
2566             philips-vc 583
2567             keyserver 584
2568             imap4-ssl 585
2569             password-chg 586
2570             submission 587
2571             ipcserver 600
2572             urm 606
2573             nqs 607
2574             sift-uft 608
2575             npmp-trap 609
2576             npmp-local 610
2577             npmp-gui 611
2578             hmmp-ind 612
2579             hmmp-op 613
2580             sshell 614
2581             sslshell 614
2582             sco-inetmgr 615
2583             sco-sysmgr 616
2584             sco-dtmgr 617
2585             dei-icda 618
2586             digital-evm 619
2587             sco-websrvrmgr 620
2588             escp 621
2589             escp-ip 621
2590             servstat 633
2591             ginad 634
2592             rlzdbase 635
2593             ldaps 636
2594             sldap 636
2595             lanserver 637
2596             doom 666
2597             mdqs 666
2598             disclose 667
2599             mecomm 668
2600             meregister 669
2601             vacdsm-sws 670
2602             vacdsm-app 671
2603             vpps-qua 672
2604             cimplex 673
2605             acap 674
2606             elcsd 704
2607             errlog 704
2608             agentx 705
2609             entrust-kmsh 709
2610             entrust-ash 710
2611             netviewdm1 729
2612             netviewdm2 730
2613             netviewdm3 731
2614             netgw 741
2615             netrcs 742
2616             flexlm 744
2617             fujitsu-dev 747
2618             ris-cm 748
2619             kerberos-adm 749
2620             rfile 750
2621             pump 751
2622             qrh 752
2623             rrh 753
2624             tell 754
2625             nlogin 758
2626             con 759
2627             ns 760
2628             rxe 761
2629             quotad 762
2630             cycleserv 763
2631             omserv 764
2632             webster 765
2633             phone 767
2634             phonebook 767
2635             vid 769
2636             cadlock 770
2637             rtip 771
2638             cycleserv2 772
2639             submit 773
2640             rpasswd 774
2641             entomb 775
2642             wpages 776
2643             wpgs 780
2644             concert 786
2645             mdbs_daemon 800
2646             device 801
2647             iclcnet-locate 886
2648             iclcnet_svinfo 887
2649             accessbuilder 888
2650             xact-backup 911
2651             ftps-data 989
2652             ftps 990
2653             nas 991
2654             telnets 992
2655             imaps 993
2656             ircs 994
2657             pop3s 995
2658             spop3 995
2659             vsinet 996
2660             maitrd 997
2661             busboy 998
2662             garcon 999
2663             puprouter 999
2664             ock 1000
2665             blackjack 1025
2666             iad1 1030
2667             iad2 1031
2668             iad3 1032
2669             neod1 1047
2670             neod2 1048
2671             nim 1058
2672             nimreg 1059
2673             instl_boots 1067
2674             instl_bootc 1068
2675             socks 1080
2676             ansoft-lm-1 1083
2677             ansoft-lm-2 1084
2678             nfsd-status 1110
2679             lmsocialserver 1111
2680             murray 1123
2681             nfa 1155
2682             mc-client 1180
2683             lupa 1212
2684             nerv 1222
2685             hermes 1248
2686             bmc_patroldb 1313
2687             pdps 1314
2688             vpjp 1345
2689             alta-ana-lm 1346
2690             bbn-mmc 1347
2691             bbn-mmx 1348
2692             sbook 1349
2693             editbench 1350
2694             equationbuilder 1351
2695             lotusnote 1352
2696             relief 1353
2697             rightbrain 1354
2698             edge 1355
2699             intuitive 1355
2700             intuitive-edge 1355
2701             cuillamartin 1356
2702             pegboard 1357
2703             connlcli 1358
2704             ftsrv 1359
2705             mimer 1360
2706             linx 1361
2707             timeflies 1362
2708             ndm-requester 1363
2709             ndm-server 1364
2710             adapt-sna 1365
2711             netware-csp 1366
2712             dcs 1367
2713             screencast 1368
2714             gv-us 1369
2715             us-gv 1370
2716             fc-cli 1371
2717             fc-ser 1372
2718             chromagrafx 1373
2719             molly 1374
2720             bytex 1375
2721             ibm-pps 1376
2722             cichlid 1377
2723             elan 1378
2724             dbreporter 1379
2725             telesis-licman 1380
2726             apple-licman 1381
2727             gwha 1383
2728             os-licman 1384
2729             atex_elmd 1385
2730             checksum 1386
2731             cadsi-lm 1387
2732             objective-dbc 1388
2733             iclpv-dm 1389
2734             iclpv-sc 1390
2735             iclpv-sas 1391
2736             iclpv-pm 1392
2737             iclpv-nls 1393
2738             iclpv-nlc 1394
2739             iclpv-wsm 1395
2740             dvl-activemail 1396
2741             audio-activmail 1397
2742             video-activmail 1398
2743             cadkey-licman 1399
2744             cadkey-tablet 1400
2745             goldleaf-licman 1401
2746             prm-sm-np 1402
2747             prm-nm-np 1403
2748             igi-lm 1404
2749             ibm-res 1405
2750             netlabs-lm 1406
2751             dbsa-lm 1407
2752             sophia-lm 1408
2753             here-lm 1409
2754             hiq 1410
2755             af 1411
2756             innosys 1412
2757             innosys-acl 1413
2758             ibm-mqseries 1414
2759             dbstar 1415
2760             novell-lu6.2 1416
2761             timbuktu-srv1 1417
2762             timbuktu-srv2 1418
2763             timbuktu-srv3 1419
2764             timbuktu-srv4 1420
2765             gandalf-lm 1421
2766             autodesk-lm 1422
2767             essbase 1423
2768             hybrid 1424
2769             zion-lm 1425
2770             sais 1426
2771             mloadd 1427
2772             informatik-lm 1428
2773             nms 1429
2774             tpdu 1430
2775             rgtp 1431
2776             blueberry-lm 1432
2777             ms-sql-s 1433
2778             ms-sql-m 1434
2779             ibm-cics 1435
2780             saism 1436
2781             tabula 1437
2782             eicon-server 1438
2783             eicon-x25 1439
2784             eicon-slp 1440
2785             cadis-1 1441
2786             cadis-2 1442
2787             ies-lm 1443
2788             marcam-lm 1444
2789             proxima-lm 1445
2790             ora-lm 1446
2791             apri-lm 1447
2792             oc-lm 1448
2793             peport 1449
2794             dwf 1450
2795             infoman 1451
2796             gtegsc-lm 1452
2797             genie-lm 1453
2798             interhdl_elmd 1454
2799             esl-lm 1455
2800             dca 1456
2801             valisys-lm 1457
2802             nrcabq-lm 1458
2803             proshare1 1459
2804             proshare2 1460
2805             ibm_wrless_lan 1461
2806             world-lm 1462
2807             nucleus 1463
2808             msl_lmd 1464
2809             pipes 1465
2810             oceansoft-lm 1466
2811             aal-lm 1469
2812             uaiact 1470
2813             csdmbase 1471
2814             csdm 1472
2815             openmath 1473
2816             telefinder 1474
2817             taligent-lm 1475
2818             clvm-cfg 1476
2819             ms-sna-server 1477
2820             ms-sna-base 1478
2821             dberegister 1479
2822             pacerforum 1480
2823             airs 1481
2824             miteksys-lm 1482
2825             afs 1483
2826             confluent 1484
2827             lansource 1485
2828             nms_topo_serv 1486
2829             localinfosrvr 1487
2830             docstor 1488
2831             dmdocbroker 1489
2832             insitu-conf 1490
2833             anynetgateway 1491
2834             stone-design-1 1492
2835             netmap_lm 1493
2836             ica 1494
2837             cvc 1495
2838             liberty-lm 1496
2839             rfx-lm 1497
2840             watcom-sql 1498
2841             fhc 1499
2842             vlsi-lm 1500
2843             saiscm 1501
2844             shiva 1502
2845             shivadiscovery 1502
2846             databeam 1503
2847             imtc-mcs 1503
2848             evb-elm 1504
2849             funkproxy 1505
2850             utcd 1506
2851             symplex 1507
2852             diagmond 1508
2853             robcad-lm 1509
2854             mvx-lm 1510
2855             3l-l1 1511
2856             wins 1512
2857             fujitsu-dtc 1513
2858             fujitsu-dtcns 1514
2859             ifor-protocol 1515
2860             vpad 1516
2861             vpac 1517
2862             vpvd 1518
2863             vpvc 1519
2864             atm-zip-office 1520
2865             ncube-lm 1521
2866             cichild 1523
2867             cichild-lm 1523
2868             ingres 1524
2869             ingreslock 1524
2870             orasrv 1525
2871             prospero-np 1525
2872             pdap-np 1526
2873             tlisrv 1527
2874             mciautoreg 1528
2875             coauthor 1529
2876             rap-service 1530
2877             rap-listen 1531
2878             miroconnect 1532
2879             virtual-places 1533
2880             micromuse-lm 1534
2881             ampr-info 1535
2882             ampr-inter 1536
2883             sdsc-lm 1537
2884             3ds-lm 1538
2885             intellistor-lm 1539
2886             rds 1540
2887             rds2 1541
2888             gridgen-elmd 1542
2889             simba-cs 1543
2890             aspeclmd 1544
2891             vistium-share 1545
2892             abbaccuray 1546
2893             laplink 1547
2894             axon-lm 1548
2895             shivahose 1549
2896             3m-image-lm 1550
2897             hecmtl-db 1551
2898             pciarray 1552
2899             sna-cs 1553
2900             caci-lm 1554
2901             livelan 1555
2902             ashwin 1556
2903             arbortext-lm 1557
2904             xingmpeg 1558
2905             web2host 1559
2906             asci-val 1560
2907             facilityview 1561
2908             pconnectmgr 1562
2909             cadabra-lm 1563
2910             pay-per-view 1564
2911             windd 1565
2912             winddlb 1565
2913             corelvideo 1566
2914             jlicelmd 1567
2915             tsspmap 1568
2916             ets 1569
2917             orbixd 1570
2918             rdb-dbs-disp 1571
2919             chip-lm 1572
2920             itscomm-ns 1573
2921             mvel-lm 1574
2922             oraclenames 1575
2923             moldflow-lm 1576
2924             hypercube-lm 1577
2925             jacobus-lm 1578
2926             ioc-sea-lm 1579
2927             tn-tl-r1 1580
2928             vmf-msg-port 1581
2929             msims 1582
2930             simbaexpress 1583
2931             tn-tl-fd2 1584
2932             intv 1585
2933             ibm-abtact 1586
2934             pra_elmd 1587
2935             triquest-lm 1588
2936             vqp 1589
2937             gemini-lm 1590
2938             ncpm-pm 1591
2939             commonspace 1592
2940             mainsoft-lm 1593
2941             sixtrak 1594
2942             radio 1595
2943             radio-sm 1596
2944             orbplus-iiop 1597
2945             picknfs 1598
2946             simbaservices 1599
2947             issd 1600
2948             aas 1601
2949             dec-inspect 1602
2950             pickodbc 1603
2951             picodbc 1603
2952             icabrowser 1604
2953             slp 1605
2954             slm-api 1606
2955             stt 1607
2956             smart-lm 1608
2957             isysg-lm 1609
2958             taurus-wh 1610
2959             ill 1611
2960             netbill-trans 1612
2961             netbill-keyrep 1613
2962             netbill-cred 1614
2963             netbill-auth 1615
2964             netbill-prod 1616
2965             nimrod-agent 1617
2966             skytelnet 1618
2967             xs-openstorage 1619
2968             faxportwinport 1620
2969             softdataphone 1621
2970             ontime 1622
2971             jaleosnd 1623
2972             udp-sr-port 1624
2973             svs-omagent 1625
2974             cncp 1636
2975             cnap 1637
2976             cnip 1638
2977             cert-initiator 1639
2978             cert-responder 1640
2979             invision 1641
2980             isis-am 1642
2981             isis-ambc 1643
2982             saiseh 1644
2983             datametrics 1645
2984             sa-msg-port 1646
2985             rsap 1647
2986             concurrent-lm 1648
2987             inspect 1649
2988             nkd 1650
2989             shiva_confsrvr 1651
2990             xnmp 1652
2991             alphatech-lm 1653
2992             stargatealerts 1654
2993             dec-mbadmin 1655
2994             dec-mbadmin-h 1656
2995             fujitsu-mmpdc 1657
2996             sixnetudr 1658
2997             sg-lm 1659
2998             skip-mc-gikreq 1660
2999             netview-aix-1 1661
3000             netview-aix-2 1662
3001             netview-aix-3 1663
3002             netview-aix-4 1664
3003             netview-aix-5 1665
3004             netview-aix-6 1666
3005             netview-aix-7 1667
3006             netview-aix-8 1668
3007             netview-aix-9 1669
3008             netview-aix-10 1670
3009             netview-aix-11 1671
3010             netview-aix-12 1672
3011             proshare-mc-1 1673
3012             proshare-mc-2 1674
3013             pdp 1675
3014             netcomm1 1676
3015             groupwise 1677
3016             prolink 1678
3017             darcorp-lm 1679
3018             microcom-sbp 1680
3019             sd-elmd 1681
3020             lanyon-lantern 1682
3021             ncpm-hip 1683
3022             snaresecure 1684
3023             n2nremote 1685
3024             cvmon 1686
3025             nsjtp-ctrl 1687
3026             nsjtp-data 1688
3027             firefox 1689
3028             ng-umds 1690
3029             empire-empuma 1691
3030             sstsys-lm 1692
3031             rrirtr 1693
3032             rrimwm 1694
3033             rrilwm 1695
3034             rrifmm 1696
3035             rrisat 1697
3036             rsvp-encap-1 1698
3037             rsvp-encapsulation-1 1698
3038             rsvp-encap-2 1699
3039             rsvp-encapsulation-2 1699
3040             mps-raft 1700
3041             l2f 1701
3042             deskshare 1702
3043             hb-engine 1703
3044             bcs-broker 1704
3045             slingshot 1705
3046             jetform 1706
3047             vdmplay 1707
3048             gat-lmd 1708
3049             centra 1709
3050             impera 1710
3051             pptconference 1711
3052             registrar 1712
3053             conferencetalk 1713
3054             sesi-lm 1714
3055             houdini-lm 1715
3056             xmsg 1716
3057             fj-hdnet 1717
3058             h323gatedisc 1718
3059             h323gatestat 1719
3060             h323hostcall 1720
3061             caicci 1721
3062             hks-lm 1722
3063             pptp 1723
3064             csbphonemaster 1724
3065             iden-ralp 1725
3066             iberiagames 1726
3067             winddx 1727
3068             telindus 1728
3069             citynl 1729
3070             roketz 1730
3071             msiccp 1731
3072             proxim 1732
3073             sipat 1733
3074             cambertx-lm 1734
3075             privatechat 1735
3076             street-stream 1736
3077             ultimad 1737
3078             gamegen1 1738
3079             webaccess 1739
3080             encore 1740
3081             cisco-net-mgmt 1741
3082             3com-nsd 1742
3083             cinegrfx-lm 1743
3084             ncpm-ft 1744
3085             remote-winsock 1745
3086             ftrapid-1 1746
3087             ftrapid-2 1747
3088             oracle-em1 1748
3089             aspen-services 1749
3090             sslp 1750
3091             swiftnet 1751
3092             lofr-lm 1752
3093             translogic-lm 1753
3094             oracle-em2 1754
3095             ms-streaming 1755
3096             capfast-lmd 1756
3097             cnhrp 1757
3098             tftp-mcast 1758
3099             spss-lm 1759
3100             www-ldap-gw 1760
3101             cft-0 1761
3102             cft-1 1762
3103             cft-2 1763
3104             cft-3 1764
3105             cft-4 1765
3106             cft-5 1766
3107             cft-6 1767
3108             cft-7 1768
3109             bmc-net-adm 1769
3110             bmc-net-svc 1770
3111             vaultbase 1771
3112             essweb-gw 1772
3113             kmscontrol 1773
3114             global-dtserv 1774
3115             femis 1776
3116             powerguardian 1777
3117             prodigy-internet 1778
3118             pharmasoft 1779
3119             dpkeyserv 1780
3120             answersoft-lm 1781
3121             hp-hcip 1782
3122             fjris 1783
3123             finle-lm 1784
3124             windlm 1785
3125             funk-logger 1786
3126             funk-license 1787
3127             psmond 1788
3128             hello 1789
3129             nmsp 1790
3130             ea1 1791
3131             ibm-dt-2 1792
3132             rsc-robot 1793
3133             cera-bcm 1794
3134             dpi-proxy 1795
3135             vocaltec-admin 1796
3136             uma 1797
3137             etp 1798
3138             netrisk 1799
3139             ansys-lm 1800
3140             msmq 1801
3141             concomp1 1802
3142             hp-hcip-gwy 1803
3143             enl 1804
3144             enl-name 1805
3145             musiconline 1806
3146             fhsp 1807
3147             oracle-vp2 1808
3148             oracle-vp1 1809
3149             jerand-lm 1810
3150             scientia-sdb 1811
3151             radius 1812
3152             radius-acct 1813
3153             tdp-suite 1814
3154             mmpft 1815
3155             etftp 1818
3156             plato-lm 1819
3157             mcagent 1820
3158             donnyworld 1821
3159             es-elmd 1822
3160             unisys-lm 1823
3161             metrics-pas 1824
3162             fjicl-tep-a 1901
3163             fjicl-tep-b 1902
3164             linkname 1903
3165             fjicl-tep-c 1904
3166             sugp 1905
3167             tpmd 1906
3168             tportmapperreq 1906
3169             intrastar 1907
3170             dawn 1908
3171             global-wlink 1909
3172             mtp 1911
3173             armadp 1913
3174             elm-momentum 1914
3175             facelink 1915
3176             persoft 1916
3177             noagent 1917
3178             can-nds 1918
3179             can-dch 1919
3180             can-ferret 1920
3181             close-combat 1944
3182             dialogic-elmd 1945
3183             tekpls 1946
3184             eye2eye 1948
3185             ismaeasdaqlive 1949
3186             ismaeasdaqtest 1950
3187             bcs-lmserver 1951
3188             dlsrap 1973
3189             foliocorp 1985
3190             licensedaemon 1986
3191             tr-rsrb-p1 1987
3192             tr-rsrb-p2 1988
3193             mshnet 1989
3194             tr-rsrb-p3 1989
3195             stun-p1 1990
3196             stun-p2 1991
3197             ipsendmsg 1992
3198             stun-p3 1992
3199             snmp-tcp-port 1993
3200             stun-port 1994
3201             perf-port 1995
3202             tr-rsrb-port 1996
3203             gdp-port 1997
3204             x25-svc-port 1998
3205             tcp-id-port 1999
3206             callbook 2000
3207             dc 2001
3208             globe 2002
3209             mailbox 2004
3210             berknet 2005
3211             invokator 2006
3212             dectalk 2007
3213             conf 2008
3214             search 2010
3215             raid-cc 2011
3216             ttyinfo 2012
3217             raid-am 2013
3218             troff 2014
3219             cypress 2015
3220             bootserver 2016
3221             cypress-stat 2017
3222             terminaldb 2018
3223             whosockami 2019
3224             xinupageserver 2020
3225             servexec 2021
3226             down 2022
3227             xinuexpansion3 2023
3228             xinuexpansion4 2024
3229             ellpack 2025
3230             scrabble 2026
3231             shadowserver 2027
3232             submitserver 2028
3233             device2 2030
3234             blackboard 2032
3235             glogger 2033
3236             scoremgr 2034
3237             imsldoc 2035
3238             objectmanager 2038
3239             lam 2040
3240             interbase 2041
3241             isis 2042
3242             isis-bcast 2043
3243             rimsl 2044
3244             cdfunc 2045
3245             sdfunc 2046
3246             dls 2047
3247             dls-monitor 2048
3248             nfs 2049
3249             shilp 2049
3250             dlsrpn 2065
3251             dlswpn 2067
3252             zephyr-srv 2102
3253             zephyr-clt 2103
3254             zephyr-hm 2104
3255             minipay 2105
3256             mc-gt-srv 2180
3257             ats 2201
3258             imtc-map 2202
3259             kali 2213
3260             unreg-ab1 2221
3261             unreg-ab2 2222
3262             inreg-ab3 2223
3263             ivs-video 2232
3264             infocrypt 2233
3265             directplay 2234
3266             sercomm-wlink 2235
3267             nani 2236
3268             optech-port1-lm 2237
3269             aviva-sna 2238
3270             imagequery 2239
3271             ivsd 2241
3272             xmquery 2279
3273             lnvpoller 2280
3274             lnvconsole 2281
3275             lnvalarm 2282
3276             lnvstatus 2283
3277             lnvmaps 2284
3278             lnvmailmon 2285
3279             nas-metering 2286
3280             dna 2287
3281             netml 2288
3282             pehelp 2307
3283             sdhelp 2308
3284             cvspserver 2401
3285             rtsserv 2500
3286             rtsclient 2501
3287             hp-3000-telnet 2564
3288             netrek 2592
3289             tqdata 2700
3290             www-dev 2784
3291             aic-np 2785
3292             aic-oncrpc 2786
3293             piccolo 2787
3294             fryeserv 2788
3295             media-agent 2789
3296             mao 2908
3297             funk-dialout 2909
3298             tdaccess 2910
3299             blockade 2911
3300             epicon 2912
3301             hbci 3000
3302             redwood-broker 3001
3303             exlm-agent 3002
3304             gw 3010
3305             trusted-web 3011
3306             hlserver 3047
3307             pctrader 3048
3308             nsws 3049
3309             vmodem 3141
3310             rdc-wh-eos 3142
3311             seaview 3143
3312             tarantella 3144
3313             csi-lfap 3145
3314             mc-brk-srv 3180
3315             ccmail 3264
3316             altav-tunnel 3265
3317             ns-cfg-server 3266
3318             ibm-dial-out 3267
3319             msft-gc 3268
3320             msft-gc-ssl 3269
3321             verismart 3270
3322             csoft-prev 3271
3323             user-manager 3272
3324             sxmp 3273
3325             ordinox-server 3274
3326             samd 3275
3327             maxim-asics 3276
3328             dec-notes 3333
3329             bmap 3421
3330             mira 3454
3331             prsvp 3455
3332             vat 3456
3333             vat-control 3457
3334             d3winosfi 3458
3335             integral 3459
3336             mapper-nodemgr 3984
3337             mapper-mapethd 3985
3338             mapper-ws_ethd 3986
3339             terabase 4000
3340             netcheque 4008
3341             chimera-hwm 4009
3342             samsung-unidex 4010
3343             altserviceboot 4011
3344             pda-gate 4012
3345             acl-manager 4013
3346             nuts_dem 4132
3347             nuts_bootp 4133
3348             nifty-hmi 4134
3349             oirtgsvc 4141
3350             oidocsvc 4142
3351             oidsr 4143
3352             rwhois 4321
3353             unicall 4343
3354             vinainstall 4344
3355             krb524 4444
3356             nv-video 4444
3357             upnotifyp 4445
3358             n1-fwp 4446
3359             n1-rmgmt 4447
3360             asc-slmd 4448
3361             arcryptoip 4449
3362             camp 4450
3363             ctisystemmsg 4451
3364             ctiprogramload 4452
3365             nssalertmgr 4453
3366             nssagentmgr 4454
3367             sae-urn 4500
3368             urn-x-cdchoice 4501
3369             hylafax 4559
3370             rfa 4672
3371             commplex-main 5000
3372             commplex-link 5001
3373             rfe 5002
3374             claris-fmpro 5003
3375             avt-profile-1 5004
3376             avt-profile-2 5005
3377             telelpathstart 5010
3378             telepathstart 5010
3379             telelpathattack 5011
3380             telepathattack 5011
3381             zenginkyo-1 5020
3382             zenginkyo-2 5021
3383             mmcc 5050
3384             rmonitor_secure 5145
3385             atmp 5150
3386             america-online 5190
3387             aol 5190
3388             americaonline1 5191
3389             aol-1 5191
3390             americaonline2 5192
3391             aol-2 5192
3392             americaonline3 5193
3393             aol-3 5193
3394             padl2sim 5236
3395             hacl-hb 5300
3396             hacl-gs 5301
3397             hacl-cfg 5302
3398             hacl-probe 5303
3399             hacl-local 5304
3400             hacl-test 5305
3401             sun-mc-grp 5306
3402             sco-aip 5307
3403             cfengine 5308
3404             jprinter 5309
3405             outlaws 5310
3406             tmlogin 5311
3407             excerpt 5400
3408             excerpts 5401
3409             mftp 5402
3410             hpoms-ci-lstn 5403
3411             hpoms-dps-lstn 5404
3412             netsupport 5405
3413             systemics-sox 5406
3414             foresyte-clear 5407
3415             foresyte-sec 5408
3416             salient-dtasrv 5409
3417             salient-usrmgr 5410
3418             actnet 5411
3419             continuus 5412
3420             wwiotalk 5413
3421             statusd 5414
3422             ns-server 5415
3423             sns-gateway 5416
3424             sns-agent 5417
3425             mcntp 5418
3426             dj-ice 5419
3427             cylink-c 5420
3428             personal-agent 5555
3429             esmmanager 5600
3430             esmagent 5601
3431             a1-msc 5602
3432             a1-bs 5603
3433             a3-sdunode 5604
3434             a4-sdunode 5605
3435             pcanywheredata 5631
3436             pcanywherestat 5632
3437             rrac 5678
3438             dccm 5679
3439             proshareaudio 5713
3440             prosharevideo 5714
3441             prosharedata 5715
3442             prosharerequest 5716
3443             prosharenotify 5717
3444             openmail 5729
3445             fcopy-server 5745
3446             openmailg 5755
3447             x500ms 5757
3448             openmailns 5766
3449             s-openmail 5767
3450             x11 6000
3451             softcm 6110
3452             spc 6111
3453             dtspcd 6112
3454             backup-express 6123
3455             meta-corp 6141
3456             aspentec-lm 6142
3457             watershed-lm 6143
3458             statsci1-lm 6144
3459             statsci2-lm 6145
3460             lonewolf-lm 6146
3461             montage-lm 6147
3462             tal-pod 6149
3463             crip 6253
3464             clariion-evr01 6389
3465             skip-cert-recv 6455
3466             skip-cert-send 6456
3467             lvision-lm 6471
3468             xdsxdm 6558
3469             vocaltec-gold 6670
3470             vision_server 6672
3471             vision_elmd 6673
3472             ambit-lm 6831
3473             acmsoda 6969
3474             afs3-fileserver 7000
3475             afs3-callback 7001
3476             afs3-prserver 7002
3477             afs3-vlserver 7003
3478             afs3-kaserver 7004
3479             afs3-volser 7005
3480             afs3-errors 7006
3481             afs3-bos 7007
3482             afs3-update 7008
3483             afs3-rmtsys 7009
3484             ups-onlinet 7010
3485             lazy-ptop 7099
3486             font-service 7100
3487             virprot-lm 7121
3488             clutild 7174
3489             fodms 7200
3490             dlip 7201
3491             winqedit 7395
3492             pmdmgr 7426
3493             oveadmgr 7427
3494             ovladmgr 7428
3495             opi-sock 7429
3496             xmpv7 7430
3497             pmd 7431
3498             telops-lmd 7491
3499             pafec-lm 7511
3500             cbt 7777
3501             accu-lmgr 7781
3502             quest-vista 7980
3503             irdmi2 7999
3504             irdmi 8000
3505             pro-ed 8032
3506             npmp 8450
3507             ddi-tcp-1 8888
3508             ddi-tcp-2 8889
3509             ddi-tcp-3 8890
3510             ddi-tcp-4 8891
3511             ddi-tcp-5 8892
3512             ddi-tcp-6 8893
3513             ddi-tcp-7 8894
3514             cslistener 9000
3515             man 9535
3516             sd 9876
3517             distinct32 9998
3518             distinct 9999
3519             ndmp 10000
3520             tsaf 12753
3521             dsmcc-config 13818
3522             dsmcc-session 13819
3523             dsmcc-passthru 13820
3524             dsmcc-download 13821
3525             dsmcc-ccp 13822
3526             isode-dua 17007
3527             biimenu 18000
3528             webphone 21845
3529             netspeak-is 21846
3530             netspeak-cs 21847
3531             netspeak-acd 21848
3532             netspeak-cps 21849
3533             wnn6 22273
3534             vocaltec-wconf 22555
3535             aws-brf 22800
3536             brf-gw 22951
3537             icl-twobase1 25000
3538             icl-twobase2 25001
3539             icl-twobase3 25002
3540             icl-twobase4 25003
3541             icl-twobase5 25004
3542             icl-twobase6 25005
3543             icl-twobase7 25006
3544             icl-twobase8 25007
3545             icl-twobase9 25008
3546             icl-twobase10 25009
3547             vocaltec-hos 25793
3548             quake 26000
3549             wnn6-ds 26208
3550             dbbrowse 47557
3551             alc 47806
3552             ap 47806
3553             bacnet 47808
3554             ";
3555              
3556             #& _ianaport($servname,\%ports,\$ports) : {$portnum | undef}
3557             sub _ianaport ($\%\$)
3558             {
3559 0     0   0 my ($svc,$defports,$rstr) = @_;
3560 0 0       0 unless (%$defports) {
3561 0         0 %$defports = split(' ', $$rstr);
3562             # now have to force a real free() and not just SvPOK_off()
3563 0         0 $$rstr = $defports; # convert SVt_PV to SVt_RV to free the string
3564 0         0 undef $$rstr;
3565             }
3566 0         0 $defports->{$svc};
3567             }
3568              
3569             #& _setport($self,$key,$newval) : {'' | "carp string"}
3570             sub _setport
3571             {
3572 1     1   2 my($self,$key,$newval) = @_;
3573 1         8 return "Invalid arguments to " . __PACKAGE__ . "::_setport(@_), called"
3574 1 50 33     7 if @_ != 3 || !exists($ {*$self}{Keys}{$key});
3575 1         6 my $whoami = $self->_trace(\@_,1);
3576 1         3 my($skey,$hkey,$pkey,$svc,$port,$proto,$type,$host,$reval);
3577 0         0 my($pname,$defport,@serv);
3578 1         7 ($skey = $key) =~ s/port$/service/; # a key known to be for a service
3579 1         3 ($pkey = $key) =~ s/service$/port/; # and one for the port
3580 1         4 ($hkey = $pkey) =~ s/port$/host/; # another for calling _sethost
3581 1 50       4 if (!defined $newval) { # deleting a service or port
3582 0         0 delete $ {*$self}{Parms}{$skey};
  0         0  
3583 0 0       0 delete $ {*$self}{Parms}{$pkey} unless $self->isconnected;
  0         0  
3584 0         0 my @delkeys;
3585 0 0       0 if ($pkey eq 'thisport') {
    0          
3586 0         0 @delkeys = qw(srcaddrlist srcaddr);
3587             }
3588             elsif ($pkey eq 'destport') {
3589 0         0 @delkeys = qw(dstaddrlist dstaddr);
3590             }
3591 0 0 0     0 pop(@delkeys) if @delkeys and $self->isconnected;
3592 0 0       0 $self->delparams(\@delkeys) if @delkeys;
3593 0         0 return ''; # ok to delete
3594             }
3595             # here, we're trying to set a port or service
3596 1         5 $pname = $self->getparam('IPproto');
3597 1         4 $proto = $self->getparam('proto'); # try to find our protocol
3598 1 50 33     9 if (!defined($pname) && !$proto
      33        
3599             && defined($type = $self->getparam('type'))) {
3600             # try to infer protocol from SO_TYPE
3601 0 0       0 if ($type == SOCK_STREAM) {
    0          
3602 0         0 $proto = IPPROTO_TCP();
3603             }
3604             elsif ($type == SOCK_DGRAM) {
3605 0         0 $proto = IPPROTO_UDP();
3606             }
3607             }
3608 1 50 33     7 if (defined $proto and not defined $pname) {
3609 0         0 $pname = getprotobynumber($proto);
3610 0 0       0 unless (defined $pname) {
3611 0 0       0 if ($proto == IPPROTO_UDP()) {
    0          
    0          
3612 0         0 $pname = 'udp';
3613             }
3614             elsif ($proto == IPPROTO_TCP()) {
3615 0         0 $pname = 'tcp';
3616             }
3617             elsif ($proto == IPPROTO_ICMP()) {
3618 0         0 $pname = 'icmp';
3619             }
3620             }
3621             }
3622              
3623 1         2 $reval = $newval; # make resetting $_[2] simple
3624 1         11 $svc = $ {*$self}{Parms}{$skey}; # preserve earlier values
  1         5  
3625 1         2 $port = $ {*$self}{Parms}{$pkey};
  1         8  
3626 1 50 33     12 $port = undef if
3627             defined($port) and $port =~ /\D/; # but stored ports must be numeric
3628 1 50       4 ($newval,$defport) = ($1,$2+0)
3629             if $newval =~ /^(.+)\((\d+)\)$/;
3630 1 50 33     10 if ($skey eq $key || $newval =~ /\D/) { # trying to set a service
3631 0         0 @serv = getservbyname($newval,$pname); # try to find the port info
3632             }
3633 1 50 33     6 if ($newval !~ /\D/ && !@serv) { # setting a port number (even if service)
3634 1         2 $port = $newval+0; # just in case no servent is found
3635 1 50       6 @serv = getservbyport(htons($port),$pname) if $pname;
3636             }
3637 1 50 33     34 if (@serv) { # if we resolved name/number input
    50 33        
    50 33        
    50          
3638 0         0 $svc = $serv[0]; # save the canonical service name (and number?)
3639 0 0 0     0 $port = 0+$serv[2] unless $key eq $pkey and $newval !~ /\D/;
3640             }
3641             elsif (!$defport && $newval =~ /\D/) { # unknown service
3642 0 0       0 if ($pname eq 'udp') {
    0          
3643 0         0 $defport = _ianaport("\L$newval",%udp_ports,$udp_ports);
3644             }
3645             elsif ($pname eq 'tcp') {
3646 0         0 $defport = _ianaport("\L$newval",%tcp_ports,$tcp_ports);
3647             }
3648 0 0       0 return "Unknown service $newval, found" unless $defport;
3649 0         0 $port = $defport+0;
3650 0         0 $svc = $newval;
3651             }
3652             elsif ($defport && $newval) {
3653 0         0 $svc = $newval;
3654 0         0 $port = $defport;
3655             }
3656             elsif ($key eq $skey or $newval =~ /\D/) { # setting unknown service
3657 0         0 return "Unknown service $newval, found";
3658             }
3659 1 50       4 $reval = (($key eq $skey) ? $svc : $port); # in case we get that far
3660 1 50       3 $ {*$self}{Parms}{$skey} = $svc if $svc; # in case no port change
  0         0  
3661 1         2 $_[2] = $reval;
3662 1 50 33     6 print STDERR " - " . __PACKAGE__ . "::_setport $self $skey $svc\n" if
3663             $svc and $self->debug;
3664 1 50 33     7 print STDERR " - " . __PACKAGE__ . "::_setport $self $pkey $port\n" if
3665             defined $port and $self->debug;
3666             # Have to keep going here for implicit bind() from init().
3667             # return '' if defined($ {*$self}{Parms}{$pkey}) and
3668             # $ {*$self}{Parms}{$pkey} == $port; # not an update if same number
3669 1         1 $ {*$self}{Parms}{$pkey} = $port; # in case was service key
  1         4  
3670             # check for whether we can ask _sethost to set {dst,src}addrlist now
3671 1         14 return '' unless
3672 1 50 33     1 defined($host = $ {*$self}{Parms}{$hkey}) or $hkey eq 'thishost';
3673 1 50       4 $host = '0' if !defined $host; # 'thishost' value was null
3674 1         10 $self->setparams({$hkey => $host},0,1); # try it
3675 1         5 ''; # return goodness from here
3676             }
3677              
3678             #& _setproto($this, $key, $newval) : {'' | "carp string"}
3679             sub _setproto
3680             {
3681 6     6   12 my($self,$key,$newval) = @_;
3682 6 50       13 if (!defined $newval) { # delparams call?
3683             # make both go away at once
3684 0         0 delete @{ $ {*$self}{Parms} }{'IPproto','proto'};
  0         0  
  0         0  
3685 0         0 return '';
3686             }
3687 6         6 my($pname,$proto);
3688 6 100 66     42 if ($key ne 'proto' or $newval =~ /\D/) { # have to try for name->number
3689 2         167 my @pval = getprotobyname($newval);
3690 2 50       10 if (@pval) {
3691 2         4 $pname = $pval[0];
3692 2         6 $proto = $pval[2];
3693             }
3694             }
3695 6 50 66     86 if (!defined($proto) and $newval !~ /\D/) { # numeric proto, find name
3696 4         8 $proto = $newval+0;
3697 4         1242 $pname = getprotobynumber($proto);
3698             }
3699 6 50       19 return "Unknown protocol ($newval), seen"
3700             unless defined $proto;
3701 6 50       13 unless (defined $pname) {
3702 0 0       0 if ($proto == IPPROTO_UDP) {
    0          
    0          
3703 0         0 $pname = 'udp';
3704             }
3705             elsif ($proto == IPPROTO_TCP) {
3706 0         0 $pname = 'tcp';
3707             }
3708             elsif ($proto == IPPROTO_ICMP) {
3709 0         0 $pname = 'icmp';
3710             }
3711             }
3712 6         9 $ {*$self}{Parms}{IPproto} = $pname; # update our values
  6         25  
3713 6         7 $ {*$self}{Parms}{proto} = $proto;
  6         14  
3714             # make sure the right value gets set
3715 6 100       58 $_[2] = (($key eq 'proto') ? $proto : $pname);
3716 6         22 ''; # return goodness
3717             }
3718              
3719             #& _addrinfo($this, $sockaddr) : (name, addr, service, portnum)
3720             sub _addrinfo
3721             {
3722 4     4   7 my($this,$sockaddr) = @_;
3723 4         9 my($fam,$port,$serv,$name,$addr,@hinfo);
3724 4         25 ($fam,$port,$addr) = unpack_sockaddr_in($sockaddr);
3725 4         3296 @hinfo = gethostbyaddr($addr,$fam);
3726 4         61 $addr = inet_ntoa($addr);
3727 4 100       16 $name = (!@hinfo) ? $addr : $hinfo[0];
3728 4   33     17 $serv = getservbyport(htons($port),
3729             (ref $this) && $this->getparam('IPproto')) || $port;
3730 4         31 ($name, $addr, $serv, $port);
3731             }
3732              
3733             #& getsockinfo($this) : $remote_addr || ($local_addr, $rem_addr) | ()
3734             sub getsockinfo : locked method
3735             {
3736 2     2 1 352 my($self) = @_;
3737 2         4 my($rem,$lcl,$port,$serv,$name,$addr);
3738 2         18 ($lcl,$rem) = $self->SUPER::getsockinfo;
3739 2 50 33     11 if (defined $rem and length($rem)) {
3740 0         0 ($name, $addr, $serv, $port) = $self->_addrinfo($rem);
3741 0         0 $self->setparams({remhost => $name, remaddr => $addr,
3742             remservice => $serv, remport => $port});
3743             }
3744 2 50 33     22 if (defined $lcl and length($lcl)) {
3745 2         12 ($name, $addr, $serv, $port) = $self->_addrinfo($lcl);
3746 2         19 $self->setparams({lclhost => $name, lcladdr => $addr,
3747             lclservice => $serv, lclport => $port});
3748             }
3749 2 0 0     51 wantarray ? ((defined $lcl || defined $rem) ? ($lcl,$rem) : ())
    50          
3750             : $rem;
3751             }
3752              
3753             #& format_addr($this, $sockaddr, [numeric_only]) : $string
3754             sub format_addr
3755             {
3756 0     0 1 0 my($this,$sockaddr,$numeric) = @_;
3757 0         0 my($name,$addr,$serv,$port) = $this->_addrinfo($sockaddr);
3758 0 0       0 if ($numeric) {
3759 0         0 "${addr}:${port}";
3760             }
3761             else {
3762 0         0 "${name}:${serv}";
3763             }
3764             }
3765              
3766              
3767             1;
3768              
3769             # autoloaded methods go after the END token (& pod) below
3770              
3771             __END__