RPCINFO(8) System Manager's Manual RPCINFO(8)

rpcinfo — گزارش اطلاعات RPC

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 یک فراخوانی RPC به یک سرور RPC برقرار کرده و آنچه را که می‌یابد گزارش می‌کند.

در خلاصه دستور نخست، rpcinfo تمامی سرویس‌های RPC ثبت‌شده در rpcbind روی host را فهرست می‌کند. اگر host مشخص نشده باشد، میزبان محلی پیش‌فرض است. اگر از گزینهٔ -s استفاده شود، اطلاعات در قالبی فشرده و خلاصه نمایش داده می‌شوند.

در خلاصه دستور دوم، rpcinfo تمامی سرویس‌های RPC ثبت‌شده در نسخهٔ ۲ rpcbind را فهرست می‌کند. همچنین توجه داشته باشید که قالب نمایش اطلاعات در خلاصه دستور اول و دوم متفاوت است. دلیل آن این است که خلاصه دستور دوم از پروتکل قدیمی‌تری (نسخهٔ ۲ پروتکل rpcbind ) برای جمع‌آوری اطلاعات نمایش داده‌شده استفاده می‌کند.

خلاصه دستور سوم یک فراخوانی RPC به رویهٔ ۰ از prognum و versnum روی host مشخص‌شده برقرار می‌کند و گزارش می‌دهد که آیا پاسخی دریافت شده است یا خیر. transport پروتکل انتقالی است که باید برای برقراری ارتباط با سرویس داده‌شده استفاده شود. نشانی راه دور سرویس از طریق برقراری فراخوانی به rpcbind راه دور به دست می‌آید.

آرگومان prognum عددی است که نمایانگر یک شماره برنامهٔ RPC است. اگر versnum مشخص شده باشد، rpcinfo تلاش می‌کند همان نسخه از prognum مشخص‌شده را فراخوانی کند. در غیر این صورت، rpcinfo تلاش می‌کند با فراخوانی نسخهٔ ۰ که فرض می‌شود وجود ندارد، تمامی شماره نسخه‌های ثبت‌شده برای prognum مشخص‌شده را بیابد؛ اگر نسخهٔ ۰ وجود داشته باشد، rpcinfo در عوض تلاش می‌کند با فراخوانی یک شماره نسخهٔ بسیار بزرگ، این اطلاعات را به دست آورد و برای فراخوانی هر نسخهٔ ثبت‌شده تلاش می‌کند. نکته: شماره نسخه برای گزینه‌های -b و -d الزامی است.

transport
پروتکل انتقالی را که سرویس روی آن موردنیاز است مشخص می‌کند. اگر این گزینه مشخص نشود، rpcinfo از پروتکل انتقال مشخص‌شده در متغیر محیطی NETPATH استفاده می‌کند؛ و اگر آن متغیر مقداردهی نشده یا خالی باشد، از انتقال موجود در پایگاه‌دادهٔ netconfig(5) استفاده می‌شود. این یک گزینهٔ عمومی است و می‌تواند در ترکیب با سایر گزینه‌ها مطابق آنچه در خلاصه دستور آمده به کار رود.
serv_address
از serv_address به‌عنوان نشانی (سراسری) برای سرویس روی transport جهت ارسال پینگ (ping) به رویهٔ ۰ از prognum مشخص‌شده استفاده کرده و گزارش می‌دهد که آیا پاسخی دریافت شد یا خیر. گزینهٔ -T همراه با گزینهٔ -a الزامی است.

اگر versnum مشخص نشده باشد، rpcinfo تلاش می‌کند به تمامی شماره نسخه‌های موجود برای آن شماره برنامه پینگ بفرستد. این گزینه از برقراری فراخوانی‌ها به rpcbind راه دور برای یافتن نشانی سرویس اجتناب می‌کند. serv_address در قالب نشانی سراسری پروتکل انتقال داده‌شده مشخص می‌شود.

یک انتشار همگانی (broadcast) از طریق RPC به رویهٔ ۰ از prognum و versnum مشخص‌شده ارسال کرده و تمامی میزبان‌هایی را که پاسخ می‌دهند گزارش می‌کند. اگر transport مشخص شده باشد، درخواست همگانی خود را تنها روی همان انتقال مشخص‌شده ارسال می‌کند. اگر انتشار همگانی توسط هیچ پروتکل انتقالی پشتیبانی نشود، یک پیام خطا چاپ می‌شود. استفاده از ارسال همگانی به دلیل احتمال تأثیر منفی بر سایر سیستم‌ها باید محدود شود.
ثبت سرویس RPC مربوط به prognum و versnum مشخص‌شده را لغو می‌کند. اگر transport مشخص شده باشد، ثبت سرویس را تنها روی همان انتقال لغو می‌کند؛ در غیر این صورت، ثبت سرویس را روی تمامی انتقال‌هایی که روی آن‌ها ثبت شده بود لغو می‌نماید. تنها مالک یک سرویس می‌تواند ثبت آن را لغو کند، به جز کاربر ارشد (superuser) که می‌تواند هر سرویسی را حذف نماید.
فهرستی از ورودی‌ها با prognum و versnum داده‌شده را روی host مشخص‌شده نمایش می‌دهد. ورودی‌ها برای تمام پروتکل‌های انتقال موجود در همان خانوادهٔ پروتکلی که برای ارتباط با rpcbind راه دور استفاده شده است، بازگردانده می‌شوند.
جدولی از آمارهای عملیات rpcbind را روی host داده‌شده نمایش می‌دهد. این جدول آمارهای هر نسخه از rpcbind (نسخه‌های ۲، ۳ و ۴) را نشان می‌دهد و تعداد دفعاتی را که هر رویه درخواست شده و با موفقیت پاسخ داده شده است، تعداد و نوع درخواست‌های فراخوانی راه دور ارسال‌شده، و اطلاعات مربوط به جستجوهای نشانی RPC انجام‌شده را ارائه می‌دهد. این قابلیت برای نظارت بر فعالیت‌های RPC روی host کاربرد دارد.
portnum
از portnum به‌عنوان شماره پورت برای گزینه‌های -t و -u به‌جای شماره پورت ارائه‌شده توسط rpcbind استفاده می‌کند. استفاده از این گزینه مانع از فراخوانی به rpcbind راه دور برای یافتن نشانی سرویس می‌شود. این گزینه با وجود گزینهٔ -a منسوخ شده است.
سرویس rpcbind را روی host با استفاده از نسخهٔ ۲ پروتکل rpcbind کاوش کرده و فهرستی از تمامی برنامه‌های RPC ثبت‌شده را نمایش می‌دهد. اگر host مشخص نشده باشد، پیش‌فرض میزبان محلی است. نکته: نسخهٔ ۲ پروتکل rpcbind پیش‌تر با نام پروتکل portmapper شناخته می‌شد.
فهرست خلاصه‌ای از تمام برنامه‌های RPC ثبت‌شده روی host را نمایش می‌دهد. اگر host مشخص نشده باشد، پیش‌فرض میزبان محلی است.
یک فراخوانی RPC به رویهٔ ۰ از prognum روی host مشخص‌شده با استفاده از TCP برقرار کرده و گزارش می‌دهد که آیا پاسخی دریافت شده است یا خیر. این گزینه مطابق آنچه در خلاصه دستور سوم آمده، با گزینهٔ -T منسوخ و جایگزین شده است.
یک فراخوانی RPC به رویهٔ ۰ از prognum روی host مشخص‌شده با استفاده از UDP برقرار کرده و گزارش می‌دهد که آیا پاسخی دریافت شده است یا خیر. این گزینه مطابق آنچه در خلاصه دستور سوم آمده، با گزینهٔ -T منسوخ و جایگزین شده است.

برای نمایش تمام سرویس‌های RPC ثبت‌شده روی ماشین محلی:

example% rpcinfo

برای نمایش تمام سرویس‌های RPC ثبت‌شده در rpcbind روی ماشینی به نام klaxon:

example% rpcinfo klaxon

اطلاعات نمایش‌داده‌شده توسط دستورهای فوق ممکن است بسیار طولانی باشد. از گزینهٔ -s برای نمایش یک فهرست خلاصه‌تر استفاده کنید:

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

برای نمایش اینکه آیا سرویس RPC با شماره برنامهٔ prognum و نسخهٔ versnum روی ماشینی به نام klaxon برای پروتکل انتقال TCP ثبت شده است یا خیر:

example% rpcinfo -T tcp klaxon prognum versnum

برای نمایش تمامی سرویس‌های RPC ثبت‌شده با نسخهٔ ۲ پروتکل rpcbind روی ماشین محلی:

example% rpcinfo -p

جهت لغو ثبت نسخهٔ ۱ از سرویس walld (شماره برنامهٔ 100008) برای تمامی پروتکل‌های انتقال:

example# rpcinfo -d 100008 1

یا

example# rpcinfo -d walld 1

rpc(3), netconfig(5), rpc(5), rpcbind(8)

August 18, 1992 Linux 6.12.107+deb13-amd64