$ 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サービスのポート番号をリストしますか?どうやって見つけることができますか?
ベストアンサー1
このバージョンのrpcinfo
実装では、ポート番号が単一の16ビット数の代わりに2つの別々のバイトとして表示されるため、少し急性のように見えます。
このportmapper
サービスは、ポート番号が異なる可能性がある他のすべてのRPCサービスを見つけるために使用されるため、常にポート111にあると予想されます。 (ONC RPCプロトコルはファイアウォールが広く普及する前に開発されているため、最新の実装では静的ポート番号がますます使用されています。
これはIPv6で最も明確に表示されます。すべて0のIPv6アドレスはで、::
ポート番号はで表示されます.0.111
。この場合、ポート番号の最上位バイトは 0 で、最下位バイトは 111 であることを意味します。
IPv4 側では同じ構文を使用します。アドレスフィールドには、すべてゼロのIPv4アドレス(INADDR_ANY)に関連付けられているポート番号0.0.0.0
の2バイト表現があります。.0.111
ポート番号の MSB に 256 を乗算した後、LSB 値を加算すると実際のポート番号が得られます。たとえば、ポート番号2049は.8.1
この構文(8
* 256 + 1
= 2049)として表示されます。