Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
rpcinfo [-m | -s] [host]
rpcinfo -p [host]
rpcinfo -T transport host prognum [versnum]
rpcinfo -l [-T transport] host prognum versnum
rpcinfo [-n portnum] -u host prognum [versnum]
rpcinfo [-n portnum] -t host prognum [versnum]
rpcinfo -a serv_address -T transport prognum [versnum]
rpcinfo -b [-T transport] prognum versnum
rpcinfo -d [-T transport] prognum versnum
rpcinfo makes an RPC call to an RPC server and reports what it finds.
In the first synopsis, rpcinfo lists all the registered RPC services with rpcbind on host. If host is not specified, the local host is the default. If -s is used, the information is displayed in a concise format.
In the second synopsis, rpcinfo lists all the RPC services registered with rpcbind, version 2. Note that the format of the information is different in the first and the second synopsis. This is because the second synopsis is an older protocol used to collect the information displayed (version 2 of the rpcbind protocol).
The third synopsis makes an RPC call to procedure 0 of prognum and versnum on the specified host and reports whether a response was received. transport is the transport which has to be used for contacting the given service. The remote address of the service is obtained by making a call to the remote rpcbind.
The prognum argument is a number that represents an RPC program number (see rpc(4)).
If a versnum is specified, rpcinfo attempts to call that version of the specified prognum. Otherwise, rpcinfo attempts to find all the registered version numbers for the specified prognum by calling version 0, which is presumed not to exist; if it does exist, rpcinfo attempts to obtain this information by calling an extremely high version number instead, and attempts to call each registered version. Note that the version number is required for -b and -d options.
The EXAMPLES section describe other ways of using rpcinfo.
-T transport
Specify the transport on which the service is required. If this option is not specified, rpcinfo uses the transport specified in the NETPATH environment variable, or if that is unset or NULL, the transport in the netconfig(4) database is used. This is a generic option, and can be used in conjunction with other options as shown in the SYNOPSIS.
-a serv_address
Use serv_address as the (universal) address for the service on transport to ping procedure 0 of the specified prognum and report whether a response was received. The -T option is required with the -a option. If versnum is not specified, rpcinfo tries to ping all available version numbers for that program number. This option avoids calls to remote rpcbind to find the address of the service. The serv_address is specified in universal address format of the given transport.
-b
Make an RPC broadcast to procedure 0 of the specified prognum and versnum and report all hosts that respond. If transport is specified, it broadcasts its request only on the specified transport. If broadcasting is not supported by any transport, an error message is printed. Use of broadcasting should be limited because of the potential for adverse effect on other systems.
-d
Delete registration for the RPC service of the specified prognum and versnum. If transport is specified, unregister the service on only that transport, otherwise unregister the service on all the transports on which it was registered. Only the owner of a service can delete a registration, except the superuser, who can delete any service.
-l
Display a list of entries with a given prognum and versnum on the specified host. Entries are returned for all transports in the same protocol family as that used to contact the remote rpcbind.
-m
Display a table of statistics of rpcbind operations on the given host. The table shows statistics for each version of rpcbind (versions 2, 3 and 4), giving the number of times each procedure was requested and successfully serviced, the number and type of remote call requests that were made, and information about RPC address lookups that were handled. This is useful for monitoring RPC activities on host.
-n portnum
Use portnum as the port number for the -t and -u options instead of the port number given by rpcbind. Use of this option avoids a call to the remote rpcbind to find out the address of the service. This option is made obsolete by the -a option.
-p
Probe rpcbind on host using version 2 of the rpcbind protocol, and display a list of all registered RPC programs. If host is not specified, it defaults to the local host. This option is not useful for IPv6; use -s (see below) instead. Note that version 2 of the rpcbind protocol was previously known as the portmapper protocol.
-s
Display a concise list of all registered RPC programs on host. If host is not specified, it defaults to the local host.
-t
Make an RPC call to procedure 0 of prognum on the specified host using TCP, and report whether a response was received. This option is made obsolete by the -T option as shown in the third synopsis.
-u
Make an RPC call to procedure 0 of prognum on the specified host using UDP, and report whether a response was received. This option is made obsolete by the -T option as shown in the third synopsis.
Example 1 RPC services.
To show all of the RPC services registered on the local machine use:
example% rpcinfo
To show all of the RPC services registered with rpcbind on the machine named klaxon use:
example% rpcinfo klaxon
The information displayed by the above commands can be quite lengthy. Use the -s option to display a more concise list:
example% rpcinfo -s klaxon
program | vrsn | netid(s) | service | owner |
100000 | 2,3,4 | tcp,udp,ticlts,ticots,ticotsord | rpcbind | superuser |
100008 | 1 | ticotsord,ticots,ticlts,udp,tcp | walld | superuser |
100002 | 2,1 | ticotsord,ticots,ticlts,udp,tcp | rusersd | superuser |
100001 | 2,3,4 | ticotsord,ticots,tcp,ticlts,udp | rstatd | superuser |
100012 | 1 | ticotsord,ticots,ticlts,udp,tcp | sprayd | superuser |
100007 | 3 | ticotsord,ticots,ticlts,udp,tcp | ypbind | superuser |
100029 | 1 | ticotsord,ticots,ticlts | keyserv | superuser |
100078 | 4 | ticotsord,ticots,ticlts | - | superuser |
100024 | 1 | ticotsord,ticots,ticlts,udp,tcp | status | superuser |
100021 | 2,1 | ticotsord,ticots,ticlts,udp,tcp | nlockmgr | superuser |
100020 | 1 | ticotsord,ticots,ticlts,udp,tcp | llockmgr | superuser |
To show whether the RPC service with program number prognum and version versnum is registered on the machine named klaxon for the transport TCP use:
example% rpcinfo -T tcp klaxon prognum versnum
To show all RPC services registered with version 2 of the rpcbind protocol on the local machine use:
example% rpcinfo -p
To delete the registration for version 1 of the walld (program number 100008) service for all transports use:
example# rpcinfo -d 100008 1
or
example# rpcinfo -d walld 1
rpcbind(1M), rpc(3NSL), netconfig(4), rpc(4), attributes(5)