$ rpcinfo
program version netid address service owner
100000 4 tcp6 ::.0.111 portmapper superuser
100000 3 tcp6 ::.0.111 portmapper superuser
100000 4 udp6 ::.0.111 portmapper superuser
100000 3 udp6 ::.0.111 portmapper superuser
100000 4 tcp 0.0.0.0.0.111 portmapper superuser
100000 3 tcp 0.0.0.0.0.111 portmapper superuser
100000 2 tcp 0.0.0.0.0.111 portmapper superuser
100000 4 udp 0.0.0.0.0.111 portmapper superuser
100000 3 udp 0.0.0.0.0.111 portmapper superuser
100000 2 udp 0.0.0.0.0.111 portmapper superuser
100000 4 local /run/rpcbind.sock portmapper superuser
100000 3 local /run/rpcbind.sock portmapper superuser
我认为“地址”显示了RPC服务的IPv6地址,根据https://unix.stackexchange.com/a/234158/674。
rpcinfo
是否列出了RPC服务的端口号?我怎么才能找到呢?
发布于 2019-03-21 07:42:52
这个版本的rpcinfo
似乎有点仓促,因为端口号显示为两个单独的字节,而不是一个16位数字。
portmapper
服务总是被期望在端口111中,因为它用于查找所有其他的RPC服务,其端口号可能会有所不同。(由于ONC RPC协议是在防火墙非常常见之前开发的,因此现代实现越来越多地使用静态端口号;例如,NFS现在有望作为标准的端口2049。)
在IPv6端,这是最明显的:全零IPv6地址显示为::
,然后端口号表示为.0.111
。在这种情况下,它意味着端口号的最重要字节是0,最小的字节是111。
在事物的IPv4端使用相同的语法: address字段具有全零IPv4地址(INADDR_ANY) 0.0.0.0
和端口号.0.111
的两字节表示形式连接在一起。
您可以通过将端口号的MSB乘以256得到实际的端口号,然后将LSB的值添加到其中。因此,例如,在这个语法中,端口号2049将显示为.8.1
(8
* 256 + 1
= 2049)
https://unix.stackexchange.com/questions/507602
复制相似问题