diff options
Diffstat (limited to 'plugins-scripts/check_rpc.pl')
-rwxr-xr-x | plugins-scripts/check_rpc.pl | 436 |
1 files changed, 271 insertions, 165 deletions
diff --git a/plugins-scripts/check_rpc.pl b/plugins-scripts/check_rpc.pl index 2e25f414..623d6ab2 100755 --- a/plugins-scripts/check_rpc.pl +++ b/plugins-scripts/check_rpc.pl | |||
@@ -1,4 +1,4 @@ | |||
1 | #! /usr/bin/perl -wT | 1 | #! /usr/local/bin/perl -w |
2 | # | 2 | # |
3 | # check_rpc plugin for nagios | 3 | # check_rpc plugin for nagios |
4 | # | 4 | # |
@@ -14,22 +14,26 @@ | |||
14 | # service[check_nfs]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_rpc | 14 | # service[check_nfs]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_rpc |
15 | # | 15 | # |
16 | # initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop | 16 | # initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop |
17 | # Modified May 2002 Subhendu Ghosh - support for ePN and patches | ||
17 | # current status: $Revision$ | 18 | # current status: $Revision$ |
18 | # | 19 | # |
19 | # Copyright Notice: GPL | 20 | # Copyright Notice: GPL |
21 | # $Id$ | ||
20 | # | 22 | # |
21 | 23 | ||
22 | |||
23 | use strict; | 24 | use strict; |
24 | use FindBin; | 25 | use lib utils.pm; |
25 | use lib "$FindBin::Bin"; | ||
26 | use utils qw($TIMEOUT %ERRORS &print_revision &support); | 26 | use utils qw($TIMEOUT %ERRORS &print_revision &support); |
27 | use vars qw($PROGNAME); | 27 | use vars qw($PROGNAME); |
28 | my ($verbose,@proto,%prognum,$host,$response,$prognum,$port,$cmd); | 28 | my ($verbose,@proto,%prognum,$host,$response,$prognum,$port,$cmd,$progver,$state); |
29 | my ($array_ref,$test,$element,@progkeys,$proto,$a,$b); | 29 | my ($array_ref,$test,$element,@progkeys,$proto,$a,$b); |
30 | my ($opt_V,$opt_h,$opt_C,$opt_p,$opt_H); | 30 | my ($opt_V,$opt_h,$opt_C,$opt_p,$opt_H,$opt_c,$opt_u,$opt_t); |
31 | $opt_V = $opt_h = $opt_C = $opt_p = $opt_H = ''; | 31 | my ($line, @progvers, $response2,$response3); |
32 | $opt_V = $opt_h = $opt_C = $opt_p = $opt_H = $opt_c = $opt_u = $opt_t =''; | ||
33 | $state = 'OK'; | ||
34 | $progver = $response=$response2= $response3 =''; | ||
32 | 35 | ||
36 | $PROGNAME = "check_rpc"; | ||
33 | sub print_help (); | 37 | sub print_help (); |
34 | sub print_usage (); | 38 | sub print_usage (); |
35 | sub in ($$); | 39 | sub in ($$); |
@@ -46,48 +50,196 @@ $proto[10007]='u'; | |||
46 | 50 | ||
47 | use Getopt::Long; | 51 | use Getopt::Long; |
48 | Getopt::Long::Configure('bundling'); | 52 | Getopt::Long::Configure('bundling'); |
49 | GetOptions | 53 | GetOptions( |
50 | ("V" => \$opt_V, "version" => \$opt_V, | 54 | "V" => \$opt_V, "version" => \$opt_V, |
51 | "h" => \$opt_h, "help" => \$opt_h, | 55 | "h" => \$opt_h, "help" => \$opt_h, |
52 | "C=s" => \$opt_C, "command=s" => \$opt_C, | 56 | "C=s" => \$opt_C, "command=s" => \$opt_C, |
53 | "p=i" => \$opt_p, "port=i" => \$opt_p, | 57 | "p=i" => \$opt_p, "port=i" => \$opt_p, |
54 | "H=s" => \$opt_H, "hostname=s" => \$opt_H); | 58 | "H=s" => \$opt_H, "hostname=s" => \$opt_H, |
59 | "c=s" => \$opt_c, "progver=s" => \$opt_c, | ||
60 | "v+" => \$verbose, "verbose+" => \$verbose, | ||
61 | "u" => \$opt_u, "udp" => \$opt_u, | ||
62 | "t" => \$opt_t, "tcp" => \$opt_t | ||
63 | ); | ||
55 | 64 | ||
56 | # -h means display verbose help screen | 65 | # -h means display verbose help screen |
57 | if ($opt_h) { print_help(); exit 0; } | 66 | if ($opt_h) { print_help(); exit $ERRORS{'OK'}; } |
58 | 67 | ||
59 | # -V means display version number | 68 | # -V means display version number |
60 | if ($opt_V) { print_revision($PROGNAME,'$Revision$ '); exit 0; } | 69 | if ($opt_V) { |
70 | print_revision($PROGNAME,'$Revision$ '); | ||
71 | exit $ERRORS{'Ok'}; | ||
72 | } | ||
73 | |||
74 | # Hash containing all RPC program names and numbers | ||
75 | # Add to the hash if support for new RPC program is required | ||
76 | |||
77 | %prognum = ( | ||
78 | "portmapper" => 100000 , | ||
79 | "portmap" => 100000 , | ||
80 | "sunrpc" => 100000 , | ||
81 | "rpcbind" => 100000 , | ||
82 | "rstatd" => 100001 , | ||
83 | "rstat" => 100001 , | ||
84 | "rup" => 100001 , | ||
85 | "perfmeter" => 100001 , | ||
86 | "rstat_svc" => 100001 , | ||
87 | "rusersd" => 100002 , | ||
88 | "rusers" => 100002 , | ||
89 | "nfs" => 100003 , | ||
90 | "nfsprog" => 100003 , | ||
91 | "ypserv" => 100004 , | ||
92 | "ypprog" => 100004 , | ||
93 | "mountd" => 100005 , | ||
94 | "mount" => 100005 , | ||
95 | "showmount" => 100005 , | ||
96 | "ypbind" => 100007 , | ||
97 | "walld" => 100008 , | ||
98 | "rwall" => 100008 , | ||
99 | "shutdown" => 100008 , | ||
100 | "yppasswdd" => 100009 , | ||
101 | "yppasswd" => 100009 , | ||
102 | "etherstatd" => 100010 , | ||
103 | "etherstat" => 100010 , | ||
104 | "rquotad" => 100011 , | ||
105 | "rquotaprog" => 100011 , | ||
106 | "quota" => 100011 , | ||
107 | "rquota" => 100011 , | ||
108 | "sprayd" => 100012 , | ||
109 | "spray" => 100012 , | ||
110 | "3270_mapper" => 100013 , | ||
111 | "rje_mapper" => 100014 , | ||
112 | "selection_svc" => 100015 , | ||
113 | "selnsvc" => 100015 , | ||
114 | "database_svc" => 100016 , | ||
115 | "rexd" => 100017 , | ||
116 | "rex" => 100017 , | ||
117 | "alis" => 100018 , | ||
118 | "sched" => 100019 , | ||
119 | "llockmgr" => 100020 , | ||
120 | "nlockmgr" => 100021 , | ||
121 | "x25_inr" => 100022 , | ||
122 | "statmon" => 100023 , | ||
123 | "status" => 100024 , | ||
124 | "bootparam" => 100026 , | ||
125 | "ypupdated" => 100028 , | ||
126 | "ypupdate" => 100028 , | ||
127 | "keyserv" => 100029 , | ||
128 | "keyserver" => 100029 , | ||
129 | "sunlink_mapper" => 100033 , | ||
130 | "tfsd" => 100037 , | ||
131 | "nsed" => 100038 , | ||
132 | "nsemntd" => 100039 , | ||
133 | "showfhd" => 100043 , | ||
134 | "showfh" => 100043 , | ||
135 | "ioadmd" => 100055 , | ||
136 | "rpc.ioadmd" => 100055 , | ||
137 | "NETlicense" => 100062 , | ||
138 | "sunisamd" => 100065 , | ||
139 | "debug_svc" => 100066 , | ||
140 | "dbsrv" => 100066 , | ||
141 | "ypxfrd" => 100069 , | ||
142 | "rpc.ypxfrd" => 100069 , | ||
143 | "bugtraqd" => 100071 , | ||
144 | "kerbd" => 100078 , | ||
145 | "event" => 100101 , | ||
146 | "na.event" => 100101 , | ||
147 | "logger" => 100102 , | ||
148 | "na.logger" => 100102 , | ||
149 | "sync" => 100104 , | ||
150 | "na.sync" => 100104 , | ||
151 | "hostperf" => 100107 , | ||
152 | "na.hostperf" => 100107 , | ||
153 | "activity" => 100109 , | ||
154 | "na.activity" => 100109 , | ||
155 | "hostmem" => 100112 , | ||
156 | "na.hostmem" => 100112 , | ||
157 | "sample" => 100113 , | ||
158 | "na.sample" => 100113 , | ||
159 | "x25" => 100114 , | ||
160 | "na.x25" => 100114 , | ||
161 | "ping" => 100115 , | ||
162 | "na.ping" => 100115 , | ||
163 | "rpcnfs" => 100116 , | ||
164 | "na.rpcnfs" => 100116 , | ||
165 | "hostif" => 100117 , | ||
166 | "na.hostif" => 100117 , | ||
167 | "etherif" => 100118 , | ||
168 | "na.etherif" => 100118 , | ||
169 | "iproutes" => 100120 , | ||
170 | "na.iproutes" => 100120 , | ||
171 | "layers" => 100121 , | ||
172 | "na.layers" => 100121 , | ||
173 | "snmp" => 100122 , | ||
174 | "na.snmp" => 100122 , | ||
175 | "snmp-cmc" => 100122 , | ||
176 | "snmp-synoptics" => 100122 , | ||
177 | "snmp-unisys" => 100122 , | ||
178 | "snmp-utk" => 100122 , | ||
179 | "traffic" => 100123 , | ||
180 | "na.traffic" => 100123 , | ||
181 | "nfs_acl" => 100227 , | ||
182 | "sadmind" => 100232 , | ||
183 | "nisd" => 100300 , | ||
184 | "rpc.nisd" => 100300 , | ||
185 | "nispasswd" => 100303 , | ||
186 | "rpc.nispasswdd" => 100303 , | ||
187 | "ufsd" => 100233 , | ||
188 | "ufsd" => 100233 , | ||
189 | "pcnfsd" => 150001 , | ||
190 | "pcnfs" => 150001 , | ||
191 | "amd" => 300019 , | ||
192 | "amq" => 300019 , | ||
193 | "bwnfsd" => 545580417 , | ||
194 | "fypxfrd" => 600100069 , | ||
195 | "freebsd-ypxfrd" => 600100069 , | ||
196 | ); | ||
197 | |||
198 | # -v means verbose, -v-v means verbose twice = print above hash | ||
199 | if (defined $verbose && ($verbose > 1) ){ | ||
200 | my $key; | ||
201 | print "Supported programs:\n"; | ||
202 | print " name\t=>\tnumber\n"; | ||
203 | print " ===============================\n"; | ||
204 | foreach $key (sort keys %prognum) { | ||
205 | print " $key \t=>\t$prognum{$key} \n"; | ||
206 | } | ||
207 | print "\n\n"; | ||
208 | print_usage(); | ||
209 | exit $ERRORS{'OK'}; | ||
210 | } | ||
61 | 211 | ||
62 | # -H means host name | 212 | # -H means host name |
63 | $opt_H = shift unless ($opt_H); | 213 | unless ($opt_H) { print_usage(); exit $ERRORS{'UNKNOWN'}; } |
64 | unless ($opt_H) { print_usage(); exit -1; } | 214 | |
65 | if($opt_H && $opt_H =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0-9]+(\.[a-zA-Z][-a-zA-Z0-9]+)*)$/) { | 215 | if (! utils::is_hostname($opt_H)){ |
66 | $host = $1; | 216 | print "$opt_H is not a valid host name\n"; |
67 | } else { | 217 | print_usage(); |
68 | print "$opt_H is not a valid host name\n"; | 218 | exit $ERRORS{"UNKNOWN"}; |
69 | exit -1; | 219 | }else{ |
220 | $host = $opt_H; | ||
70 | } | 221 | } |
71 | 222 | ||
72 | while (<DATA>) { | 223 | if ($opt_t && $opt_u) { |
73 | ($a,$b) = split; | 224 | print "Cannot define tcp AND udp\n"; |
74 | $prognum{$a} = $b; | 225 | print_usage(); |
226 | exit $ERRORS{'UNKNOWN'}; | ||
75 | } | 227 | } |
76 | close DATA; | 228 | |
77 | 229 | ||
78 | # -C means command name or number | 230 | # -C means command name or number |
79 | $opt_C = shift unless ($opt_C); | 231 | $opt_C = shift unless ($opt_C); |
80 | unless ($opt_C) { print_usage(); exit -1; } | 232 | unless ($opt_C) { print_usage(); exit -1; } |
81 | @progkeys = keys %prognum; | 233 | @progkeys = keys %prognum; |
82 | if ($opt_C =~ m/^([0-9]+)$/){ | 234 | if ($opt_C =~ m/^([0-9]+)$/){ |
83 | $response = "RPC ok: program $opt_p (version "; | 235 | # $response = "RPC ok: program $opt_C (version "; |
84 | $prognum = $1; | 236 | $prognum = $1; |
85 | } elsif ( in( \@progkeys, $opt_C)) { | 237 | } elsif ( in( \@progkeys, $opt_C)) { |
86 | $response = "RPC ok: $opt_C (version "; | 238 | # $response = "RPC ok: $opt_C (version "; |
87 | $prognum = $prognum{$opt_C}; | 239 | $prognum = $prognum{$opt_C}; |
88 | } else { | 240 | } else { |
89 | print "Program $opt_C is not defined\n"; | 241 | print "Program $opt_C is not defined\n"; |
90 | exit -1; | 242 | exit $ERRORS{'UNKNOWN'}; |
91 | } | 243 | } |
92 | 244 | ||
93 | # -p means port number | 245 | # -p means port number |
@@ -99,42 +251,115 @@ if($opt_p =~ /^([0-9]+)$/){ | |||
99 | 251 | ||
100 | $proto = 'u'; | 252 | $proto = 'u'; |
101 | $proto = $proto[$prognum] if ($proto[$prognum]); | 253 | $proto = $proto[$prognum] if ($proto[$prognum]); |
102 | $cmd = "/usr/sbin/rpcinfo $port -" . "$proto $host $prognum 2>&1 |"; | 254 | $proto = 't' if ($opt_t); |
103 | print "$cmd\n" if ($verbose); | 255 | $proto = 'u' if ($opt_u); |
104 | open CMD, $cmd; | 256 | |
105 | 257 | ||
106 | while ( <CMD> ) { | 258 | # Just in case of problems, let's not hang Nagios |
107 | chomp; | 259 | $SIG{'ALRM'} = sub { |
108 | if ( /program $prognum version ([0-9]*) ready and waiting/ ) { | 260 | print ("ERROR: No response from RPC server (alarm)\n"); |
109 | $response .= "$1) is running"; | 261 | exit $ERRORS{"UNKNOWN"}; |
110 | print "$response\n"; | 262 | }; |
111 | exit 0; | 263 | alarm($TIMEOUT); |
112 | } | 264 | |
265 | # -c is progver - if we need to check multiple specified versions. | ||
266 | if (defined $opt_c ) { | ||
267 | my $vers; | ||
268 | @progvers = split(/,/ ,$opt_c ); | ||
269 | foreach $vers (sort @progvers) { | ||
270 | if($vers =~ /^([0-9]+)$/){ | ||
271 | $progver = "$1"; | ||
272 | print "Checking $opt_C version $progver proto $proto\n" if $verbose; | ||
273 | get_rpcinfo(); | ||
274 | }else{ | ||
275 | print "Version $vers is not an integer\n" if $verbose; | ||
276 | } | ||
277 | |||
278 | } | ||
279 | }else{ | ||
280 | get_rpcinfo(); | ||
281 | } | ||
282 | |||
283 | |||
284 | ## translate proto for output | ||
285 | if ($proto eq "u" ){ | ||
286 | $proto = "udp"; | ||
287 | }else{ | ||
288 | $proto = "tcp"; | ||
289 | } | ||
290 | |||
291 | if ($state eq 'OK') { | ||
292 | print "$state: RPC program $opt_C".$response." $proto running\n"; | ||
293 | }else{ | ||
294 | if($response){ | ||
295 | print "$state: RPC program $opt_C".$response2." $proto is not running,".$response." $proto is running\n"; | ||
296 | }else{ | ||
297 | print "$state: RPC program $opt_C $response2 $proto is not running\n"; | ||
298 | } | ||
113 | } | 299 | } |
300 | exit $ERRORS{$state}; | ||
114 | 301 | ||
115 | print "RPC CRITICAL: Program $opt_C not registered\n"; | ||
116 | exit 2; | ||
117 | 302 | ||
303 | ######## Subroutines ========================== | ||
304 | |||
305 | sub get_rpcinfo { | ||
306 | $cmd = "$utils::PATH_TO_RPCINFO $port -" . "$proto $host $prognum $progver 2>&1 |"; | ||
307 | print "$cmd\n" if ($verbose); | ||
308 | open CMD, $cmd or die "Can't fork for rpcinfo: $!\n" ; | ||
309 | |||
310 | while ( $line = <CMD> ) { | ||
311 | printf "$line " if $verbose; | ||
312 | chomp $line; | ||
313 | |||
314 | if ( $line =~ /program $prognum version ([0-9]*) ready and waiting/ ) { | ||
315 | $response .= " version $1"; | ||
316 | $state = 'OK' unless $state ne 'OK'; | ||
317 | print "1:$response \n" if $verbose; | ||
318 | } | ||
319 | |||
320 | if ( $line =~ /program $prognum version ([0-9]*) is not available/ ) { | ||
321 | $response2 .= " version $1"; | ||
322 | $state = 'CRITICAL'; | ||
323 | print "2:$response2 \n" if $verbose; | ||
324 | } | ||
325 | if ( $line =~ /program $prognum is not available/ ) { | ||
326 | $response3 = ""; | ||
327 | $response3 = "tcp" if $opt_t; | ||
328 | $response3 = "udp" if $opt_u; | ||
329 | $state = 'CRITICAL'; | ||
330 | print "3:$response3 \n" if $verbose; | ||
331 | } | ||
332 | } | ||
333 | close CMD; | ||
334 | } | ||
118 | 335 | ||
119 | 336 | ||
120 | sub print_help() { | 337 | sub print_help() { |
121 | print_revision($PROGNAME,'$Revision$ '); | 338 | print_revision($PROGNAME,'$Revision$ '); |
122 | print "Copyright (c) 2000 Karl DeBisschop/Truongchinh Nguyen\n"; | 339 | print "Copyright (c) 2002 Karl DeBisschop/Truongchinh Nguyen/Subhendu Ghosh\n"; |
123 | print "\n"; | 340 | print "\n"; |
124 | print "Check if a rpc service is registered and running using\n"; | 341 | print "Check if a rpc service is registered and running using\n"; |
125 | print " rpcinfo -<protocol> <host> <program number>\n"; | 342 | print " rpcinfo -H host -C rpc_command \n"; |
126 | print "\n"; | 343 | print "\n"; |
127 | print_usage(); | 344 | print_usage(); |
128 | print "\n"; | 345 | print "\n"; |
129 | print "<host> The server providing the rpc service\n"; | 346 | print " <host> The server providing the rpc service\n"; |
130 | print "<program> The program name (or number).\n\n"; | 347 | print " <rpc_command> The program name (or number).\n"; |
348 | print " <program_version> The version you want to check for (one or more)\n"; | ||
349 | print " Should prevent checks of unknown versions being syslogged\n"; | ||
350 | print " e.g. 2,3,6 to check v2, v3, and v6\n"; | ||
351 | print " [-u | -t] Test UDP or TCP\n"; | ||
352 | print " [-v] Verbose \n"; | ||
353 | print " [-v -v] Verbose - will print supported programs and numbers \n"; | ||
354 | print "\n"; | ||
131 | support(); | 355 | support(); |
132 | } | 356 | } |
133 | 357 | ||
134 | sub print_usage () { | 358 | sub print_usage () { |
135 | print "$PROGNAME -H host -C rpc_command [-p port]\n"; | 359 | print "Usage: \n"; |
136 | print "$PROGNAME [-h | --help]\n"; | 360 | print " $PROGNAME -H host -C rpc_command [-p port] [-c program_version] [-u|-t] [-v]\n"; |
137 | print "$PROGNAME [-V | --version]\n"; | 361 | print " $PROGNAME [-h | --help]\n"; |
362 | print " $PROGNAME [-V | --version]\n"; | ||
138 | } | 363 | } |
139 | 364 | ||
140 | sub in ($$) { | 365 | sub in ($$) { |
@@ -149,122 +374,3 @@ sub in ($$) { | |||
149 | return 0; | 374 | return 0; |
150 | } | 375 | } |
151 | 376 | ||
152 | __DATA__ | ||
153 | portmapper 100000 | ||
154 | portmap 100000 | ||
155 | sunrpc 100000 | ||
156 | rpcbind 100000 | ||
157 | rstatd 100001 | ||
158 | rstat 100001 | ||
159 | rup 100001 | ||
160 | perfmeter 100001 | ||
161 | rstat_svc 100001 | ||
162 | rusersd 100002 | ||
163 | rusers 100002 | ||
164 | nfs 100003 | ||
165 | nfsprog 100003 | ||
166 | ypserv 100004 | ||
167 | ypprog 100004 | ||
168 | mountd 100005 | ||
169 | mount 100005 | ||
170 | showmount 100005 | ||
171 | ypbind 100007 | ||
172 | walld 100008 | ||
173 | rwall 100008 | ||
174 | shutdown 100008 | ||
175 | yppasswdd 100009 | ||
176 | yppasswd 100009 | ||
177 | etherstatd 100010 | ||
178 | etherstat 100010 | ||
179 | rquotad 100011 | ||
180 | rquotaprog 100011 | ||
181 | quota 100011 | ||
182 | rquota 100011 | ||
183 | sprayd 100012 | ||
184 | spray 100012 | ||
185 | 3270_mapper 100013 | ||
186 | rje_mapper 100014 | ||
187 | selection_svc 100015 | ||
188 | selnsvc 100015 | ||
189 | database_svc 100016 | ||
190 | rexd 100017 | ||
191 | rex 100017 | ||
192 | alis 100018 | ||
193 | sched 100019 | ||
194 | llockmgr 100020 | ||
195 | nlockmgr 100021 | ||
196 | x25_inr 100022 | ||
197 | statmon 100023 | ||
198 | status 100024 | ||
199 | bootparam 100026 | ||
200 | ypupdated 100028 | ||
201 | ypupdate 100028 | ||
202 | keyserv 100029 | ||
203 | keyserver 100029 | ||
204 | sunlink_mapper 100033 | ||
205 | tfsd 100037 | ||
206 | nsed 100038 | ||
207 | nsemntd 100039 | ||
208 | showfhd 100043 | ||
209 | showfh 100043 | ||
210 | ioadmd 100055 | ||
211 | rpc.ioadmd 100055 | ||
212 | NETlicense 100062 | ||
213 | sunisamd 100065 | ||
214 | debug_svc 100066 | ||
215 | dbsrv 100066 | ||
216 | ypxfrd 100069 | ||
217 | rpc.ypxfrd 100069 | ||
218 | bugtraqd 100071 | ||
219 | kerbd 100078 | ||
220 | event 100101 | ||
221 | na.event 100101 | ||
222 | logger 100102 | ||
223 | na.logger 100102 | ||
224 | sync 100104 | ||
225 | na.sync 100104 | ||
226 | hostperf 100107 | ||
227 | na.hostperf 100107 | ||
228 | activity 100109 | ||
229 | na.activity 100109 | ||
230 | hostmem 100112 | ||
231 | na.hostmem 100112 | ||
232 | sample 100113 | ||
233 | na.sample 100113 | ||
234 | x25 100114 | ||
235 | na.x25 100114 | ||
236 | ping 100115 | ||
237 | na.ping 100115 | ||
238 | rpcnfs 100116 | ||
239 | na.rpcnfs 100116 | ||
240 | hostif 100117 | ||
241 | na.hostif 100117 | ||
242 | etherif 100118 | ||
243 | na.etherif 100118 | ||
244 | iproutes 100120 | ||
245 | na.iproutes 100120 | ||
246 | layers 100121 | ||
247 | na.layers 100121 | ||
248 | snmp 100122 | ||
249 | na.snmp 100122 | ||
250 | snmp-cmc 100122 | ||
251 | snmp-synoptics 100122 | ||
252 | snmp-unisys 100122 | ||
253 | snmp-utk 100122 | ||
254 | traffic 100123 | ||
255 | na.traffic 100123 | ||
256 | nfs_acl 100227 | ||
257 | sadmind 100232 | ||
258 | nisd 100300 | ||
259 | rpc.nisd 100300 | ||
260 | nispasswd 100303 | ||
261 | rpc.nispasswdd 100303 | ||
262 | ufsd 100233 | ||
263 | ufsd 100233 | ||
264 | pcnfsd 150001 | ||
265 | pcnfs 150001 | ||
266 | amd 300019 | ||
267 | amq 300019 | ||
268 | bwnfsd 545580417 | ||
269 | fypxfrd 600100069 | ||
270 | freebsd-ypxfrd 600100069 | ||