TCPのnetstat出力を読む

TCPのnetstat出力を読む

私と私が次ssh root@server -R 5901:localhost:5900のようなnetstat -an状況に遭遇した場合:

Active Internet connections (servers and established)                                           │
Proto Recv-Q Send-Q Local Address           Foreign Address         State                       │
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN                      │
tcp6       0      0 ::1:5901                :::*                    LISTEN                      │

そしてssh_configを許可し、GatewayPorts yes同じことをするなら

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN
tcp6       0      0 :::5901                 :::*                    LISTEN

(私のサービスは外部ネットワークからアクセスできます)

::1:5901(代わりに)その形式をどのように読みますか:::5901

編集する:

パブリックネットワークに公開されていないことをどのように読みますか?

0.0.0.0 は「ローカルコンピュータのすべての IP アドレス」を意味します。

ベストアンサー1

IPv6用語の::1ループバックアドレス(127.0.0.1IPv4用語と同じ)。

本質的に0:0:0:0:0:0:0:1(またはより正確には興味深いものではありませんが0000:0000:0000:0000:0000:0000:0000:0001)、すべてのゼロが折り畳まれています::1。機能的にはIPv4と同じで、127.0.0.1同じ役割を果たします。

したがって、最初の出力では、ラインtcp6はすべてのアドレスではなくIPv6ループバックアドレスを受信するため、外部には表示されません。

2番目の例(:::5901)は、指定されていないIPv6アドレス::の後にコロンとポート番号が追加されたことを示しています。これはポートがある未指定のIPv4アドレスと機能的に同じであるため、0.0.0.0:5901すべてのIPv6アドレスを介してネットワークに公開される可能性があります。

おすすめ記事