# rpcinfo

## NAME



           **rpcinfo** — report RPC information
    


## SYNOPSIS



           **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_
    


## DESCRIPTION



           **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.  Also 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.  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: the version number is required for **-b**
           and **-d** options.
    


## OPTIONS



           **-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_(5) 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 super-user 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.  Note: 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.
    


## EXAMPLES



           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   version(s)                          netid(s)   service      owner
           100000    2,3,4     local,tcp,udp,tcp6,udp6   rpcbind    super-user
           100008    1         udp,tcp,udp6,tcp6         walld      super-user
           100002    2,1       udp,udp6                  rusersd    super-user
           100001    2,3,4     udp,udp6                  rstatd     super-user
           100012    1         udp,tcp                   sprayd     super-user
           100007    3         udp,tcp                   ypbind     super-user
    
           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
    


* * *