rpcinfo -- 报告 RPC 信息

rpcinfo 命令会向 RPC 服务器发出 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

在上面第 1 条命令样式中rpcinfo 会列出所有在主机 host 上向 rpcbind 注册的 RPC 服务。如果不指定 host 参数,那么默认是本地主机。如果指定了 -s 选项,那么会以一种简明的方式显示出结果。比如:



在第 2 条命令样式中,rpcinfo 列出了版本 2 的 rpcbind 上注册的 RPC 服务,注意区别与第 1 条命令样式输出的不同,这是由于第 2 条命令样式是一种较老的协议。

在第 3 条命令样式中,向指定的 host 发出对给定“程序号/版本号”对 的过程 0 (procedure 0) 的RPC 调用,并报告是否收到一个响应。-T 选项的参数 transport 要么是 TCP 要么是 UDP,表示该 RPC 调用所使用的传输方式:
[ root@groad.net ~]# rpcinfo -T tcp localhost 100000 2
program 100000 version 2 ready and waiting

在命令样式中提到的选项 prognum 参数是一个数值,用以表示一个 RPC 程序号。如果指定了 versnum (版本号),rpcinfo 会试图调用该指定程序号的对应版本。否则,rpcinfo 会通过调用版本号0,这样会试图找到所有指定程序号程序的所有版本号。

-p  选项,使用 rpcbind 协议的第 2 版本样式来探测 rpcbind ,第 2 版本的 rpcbind 在早些时也称为  portmapper  协议。

-t  选项,使用 TCP 协议向指定 host 上的 prognum 的 过程0 发出 RPC 调用,并报告是否能收到一个响应。该选项建议使用上述的 -T 来代替。

-u  选项,使用 UDP 协议向指定 host 上的 prognum 的 过程0 发出 RPC 调用,并报告是否能收到一个响应。该选项建议使用上述的 -T 来代替。


-a  选项,指定主机的完整 IP 地址和端口号。使用该选项时注意地址的格式,可以先单独运行 rpcinfo 命令参考一下:
# rpcinfo
   program version netid     address                service    owner
    100000    4    tcp6      ::.0.111               portmapper superuser
    100000    4    tcp        0.0.0.0.0.111          portmapper superuser
    100000    3    local     /var/run/rpcbind.sock  portmapper superuser
    100024    1    udp       0.0.0.0.162.19         status     29
    100024    1    tcp        0.0.0.0.136.165        status     29
    100024    1    udp6      ::.235.140             status     29
    100024    1    tcp6      ::.200.18              status     29

所以,可以如下执行下面的命令:
# rpcinfo -a 192.168.1.102.176.112 -T tcp 100005 2
program 100005 version 2 ready and waiting

红色标识部分的 IP 地址格式称之为 universal address format (全体地址格式,之所以称之为“全体”是因为它将端口号也作为 IP 地址的一部分集成在地址中)。下面说明一下 IPv4 的全体地址格式,其组成格式为 h1.h2.h3.h4.p1.p2 ,显然 h1.h2.h3.h4 和往常所见到的 IPv4 地址格式无异,p1.p2 表示的是端口号。比如 127.0.0.1.8.1 后面的 8.1 表示的是端口 2049 。我们可以将 2049 转换为十六进制,其值为 0x801,因此该十六进制是按照大端格式存放到 IPv4 后面的。同理可以解释上面的 136.165 ,将 136 和 165 分别转换为十六进制,得到 0x88A5,再转换为十进制为 34981,该值即为真正的端口号。

关于 IPv4 和 IPv6 的“全体地址格式”详细说明可参考  RFC 5665  

-b  选项,将 RPC 广播到指定的“程序号/版本号"对的 过程0 ,并报告响应的所有主机。如果指定了 transport 参数,它仅广播它的指定 transport 上的请求。如果任何 transport 不支持广播,那么打印错误信息。由于广播行为可能会对别的系统产生不利影响,应该限制使用广播。

-m  选项,显示指定主机上的端口映射操作统计信息表。该表包含了对每个版本的端口映射(版本2,3 和4)的统计信息、每个过程请求和成功服务的次数,所做的远程调用请求的类型和数目,以及关于已处理的 RPC 地址查询信息。本信息用来监视在主机上的 RPC 活动,比如:



-l  选项,显示在指定主机上的”程序号/版本号"对 的条目的列表。返回所有使用与用于联系远程 portmap 守护进程的协议在同一个协议系列内的传输的条目,比如:
[ root@groad.net ~]# rpcinfo -l localhost 100000 3
   program vers  tp_family/name/class    address          service
    100000  3    inet6/tcp/cots_ord      ::1.0.111                portmapper   
    100000  3    inet6/udp/clts          ::1.0.111                portmapper


-n portnum  选项,使用 portnum 参数作为 -t 和 -u 选项的端口号来代替 rpcbind 给出的端口号。使用该选项避免了调用远程 rpcbind 来查找服务的地址。不建议用该选项,而是使用 -a 选项。

-d  选项,删除给定“程序号/版本号”对上的 RPC 服务上的注册。如果使用 transport,那么只注销那个 transport 上的服务;否则注销掉所有 transport 上的服务。只有服务的拥有者可以删除相应的注册,root 用户可以删除任一个服务上的注册。

关于 portmap 的其它信息可参考:《 portmap  
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
端口映射是一个服务器,将RPC程序号转换为DARPA的协议端口号。在使用RPC调用时它必须运行。   portmap进程的主要功能是把RPC程序号转化为Internet的端口号。   当一个RPC服务器启动时,会选择一个空闲的端口号并在上面监听(每次启动后的端口号各不相同),同时它作为一个可用的服务会在portmap进程注册。一个RPC服务器对应惟一一个RPC程序号,RPC服务器告诉portmap进程它在哪个端口号上监听连接请求和为哪个RPC程序号提供服务。经过这个过程,portmap进程就知道了每一个已注册的RPC服务器所用的Internet端口号,而且还知道哪个程序号在这个端口上是可用的。portmap进程维护着一张RPC程序号到Internet端口号之间的映射表,它的字段包括程序号、版本号、所用协议、端口号和服务名,portmap进程通过这张映射表来提供程序号-端口号之间的转化功能   如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。   但portmap只在第一次建立连接的时候起作用,帮助网络应用程序找到正确的通讯端口,但是一旦这个双方正确连接,端口和应用就绑定,portmap也就不起作用了。但对其他任何第一次需要找到端口建立通讯的应用仍然有用。   简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了。
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值