RPCINFO(8)

名称
rpcinfo - RPC に関する情報を表示する

書式
rpcinfo [-m | -s] [host] rpcinfo [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 ユーティリティは、RPC サーバに対して RPC 呼び出しを行ない、得られた情報を表示します。

最初の書式では、 rpcinfo は rpcbind により host に登録されたすべての RPC サービスのリストを表示します。 host が指定されない場合、ローカルホストがデフォルトの値となります。 オプション -s が使用されたときは、情報は簡潔な形式で表示されます。

2 番目の書式では、 rpcinfo は rpcbind バージョン 2 により登録された全ての RPC サービスのリストを表示します。 最初の書式と 2 番目の書式とで、情報の形式が異なることにも注意して下さい。 この理由は、2 番目の書式では、表示する情報を集めるのに使用するプロトコル ( rpcbind プロトコルのバージョン 2) がより古いからです。

3 番目の書式は、指定した host に対し、 prognum と versnum の手続き 0 の RPC 呼び出しを行ない、応答を受信したかどうかを報告します。 transport は、指定したサービスに接触するために用いる必要があるトランスポートです。 このサービスのリモートアドレスは、リモートへの rpcbind 呼び出しを行ない取得します。

引数 prognum は PPC プログラム番号を表す数値です。 versnum を指定した場合、 rpcinfo は指定した prognum の該当バージョンを呼び出そうとします。この指定がない場合、 次のようにします。 まず、バージョン番号が存在しないと考えられる場合、 rpcinfo はバージョン 0 を呼び出し、指定した prognum に対し登録されたバージョン番号全てを探し出そうと試みます。 バージョン番号が存在するならば、代わりに rpcinfo は極めて高いバージョン番号で呼び出しこの情報を得ようと試み、 そして登録されたバージョンそれぞれを呼び出そうとします。 注意: バージョン番号は、 オプション -b, -d に必要です。

オプション

-T transport
    サービスを要求する際のトランスポートを指定します。このオプションが 指定されていない場合、 rpcinfo は環境変数 NETPATH で指定するトランスポートを使用します。これが set されていないか、 この値が空の場合、 netconfig(5) データベースの中のトランスポートを使用します。 これは汎用のオプションであり、 書式 で示された他のオプションといっしょに使用できます。

-a serv_address
    serv_address を (ユニバーサルな) アドレスとして使用し、 transport 上のサービスを使い、指定した prognum の手続き 0 を ping し、受けとった応答を報告します。 オプション -a には、オプション -T が必要です。

    versnum の指定がない場合、 rpcinfo は、そのプログラム番号で利用可能なバージョン番号全てを ping しようとします。 このオプションにより、サービスのアドレスを見つけ出すための リモート rpcbind 呼び出しを避けることができます。 serv_address は与えられたトランスポートのユニバーサルアドレス形式で指定します。

-b  指定した prognum と versnum の手続き 0 に対し RPC ブロードキャストを行ない、応答したホスト全てを 報告します。 transport が指定されている場合、指定されたトランスポート上でのみ ブロードキャストします。 どのトランスポートもブロードキャストをサポートしていない場合、 エラーメッセージを表示します。他のシステムに対し悪影響を及ぼす可能性が あるため、ブロードキャストの使用は節度を持って行なわねばなりません。

-d  指定した prognum と versnum を持つ RPC サービスの登録を削除します。 transport が指定された場合、 そのトランスポート上のサービスのみを登録解除します。それ以外の場合、 登録されたトランスポート全ての上のサービスを登録解除します。 スーパユーザを除き、サービスの所有者のみが登録を削除できます。 スーパユーザは任意のサービスを削除できます。

-l  指定された host の上にある、与えられた prognum と versnum を持つエントリのリストを表示します。 リモート rpcbind に接触する際に用いたものと同じプロトコルファミリの中の 全てのトランスポートに対し、エントリを返されます。

-m  指定した host に対する rpcbind 操作の統計情報表を表示します。 この表は rpcbind の各バージョン (バージョン 2, 3, 4) における統計情報を表示します。 それは、 各手続きがリクエストされ、サービスが成功した回数、 行なわれたリモート呼び出しリクエストの回数とタイプ、 処理した RPC アドレス検出に関する情報を与えてくれます。 これは、 host 上の RPC 活動をモニタするのに有益です。

-n portnum
    -t, -u のためのポート番号として、 rpcbind により与えられるポート番号を使わずに、 portnum を代わりに使用します。 このオプションを使用することで、サービスのアドレスを見つけ出すための リモート rpcbind 呼び出しを避けることができます。 このオプションは -a オプションにより非推奨にされました。

-p  rpcbind プロトコルのバージョン 2 を用い、ホスト host 上の rpcbind を探査し、登録された RPC プログラム全てのリストを表示します。 host の指定がない場合、ローカルホストをデフォルトとします。 注意: rpcbind プロトコルのバージョン 2 は、かつて、ポートマッパ (portmapper) プロトコルという名前で知られていました。

-s  host 上の、登録された RPC プログラム全ての簡潔なリストを表示します。 host の指定がない場合、ローカルホストをデフォルトとします。

-t  TCP を用いて、指定した host 上の prognum の手続き 0 に対して RPC 呼び出しを行ない、応答があったかどうかを 報告します。このオプションは、3 番目の書式で示した -T オプションにより非推奨になりました。

-u  UDP を用いて、指定した host 上の prognum の手続き 0 に対して RPC 呼び出しを行ない、応答があったかどうかを 報告します。このオプションは、3 番目の書式で示した -T オプションにより非推奨になりました。

使用例
ローカルマシンに登録されている全ての RPC サービスを見るには、次のようにします。

    example% rpcinfo

ホスト名 “klaxon” を持つマシン上の rpcbind に登録されている全ての RPC サービスを見るには、次のようにします。

    example% rpcinfo klaxon

上記のコマンドにより表示される情報は、かなり長くなる可能性が あります。オプション -s を使うことで、より簡潔なリストを表示させることができます。

    example$ rpcinfo -s klaxon

program | version(s) | netid(s) | service | owner
100000 | 2,3,4 | unix,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

トランスポート TCP に対し、名前 “klaxon” を持つマシン上にプログラム番号 prognum とバージョン versnum を持つ RPC サービスが登録されているかどうかを示すには、 次のようにします。
    example% rpcinfo -T tcp klaxon prognum versnum

ローカルマシン上で、 rpcbind プロトコルのバージョン 2 により登録された全ての RPC サービスを 表示させるには、次のようにします。
    example% rpcinfo -p

全てのトランスポートに対し、 バージョン 1 の walld (プログラム番号 100008) サービスの登録を削除するには、次のようにします。

    example# rpcinfo -d 100008 1
または、
    example# rpcinfo -d walld 1

関連項目
rpc(3), netconfig(5), rpc(5), rpcbind(8)