0

有人可以评论端口映射程序版本的决定方式和级别。实际上在 2 个不同的环境中,我得到了不同的过程和程序版本。在情况 1:我得到程序版本 2 和过程 GETPORT 在情况 2:我得到程序版本 4 和过程 GETADDR。

我如何确保在每种情况下都调用 GETPORT 而不是 GETADDR。

4

1 回答 1

0

小混乱来自这样一个事实,即您使用的可能是同一个客户端,该客户端与portmap的两个“不同”服务通信,暴露为带有#100000, version2rpcbind服务的程序,暴露为 program #100000, version 4。为了匹配正确的服务,使用program和的组合version。因此,bough 可以共享相同的TPC/UDP端口,但提供不同的服务。

端口映射

返回注册程序的TCP/UDP 端口号,如:

GETPORT {'program': '100003', 'version': 4}=>2049

rpcbind

返回注册程序的通用地址,如:

GETADDR {'program': '100003', 'version': 4, 'netid': 'tcp'}=>0.0.0.0.8.1

典型的rpcbind服务也支持该portmap协议。

于 2022-02-15T16:35:30.090 回答