私は Linux と Ubuntu の初心者です。Google で検索して、ユーザーが手動で開くまですべてのポートが閉じられていると記載されている記事をいくつか読みました。これは正しいですか?
また、「ポートをリッスンする」および「ポートが確立される」とは、簡単に言うとどういう意味ですか?
答え1
Google で検索して、ユーザーが手動で開くまですべてのポートは閉じられているという記事をいくつか読みました。これは正しいですか?
「ユーザー」として何を想定するかによって異なります。通常、ユーザーは「ポート X を開いてください」とは言いません。システム サービス (印刷用の CUPS、UDP/TCP ポート 631 など) は、リスニング用にポートを開きます。その他の例としては、HTTP サーバー (TCP ポート 80)、DNS サーバー (UDP ポート 53)、SMTP (メール) サーバー (TCP ポート 25) などがあります。
これまではポートについてのみ述べてきましたが、プログラムはリッスンを開始するアドレスも指定する必要があります。プログラムはリッスンできることを理解することが重要です。地元で(IPv4アドレス127.0.0.1
、IPv6アドレス::1
)またはサービスがアクセス可能になるアドレスネットワーク上の他のデバイス(ネットワーク アドレスを使用、例10.0.1.4
)。リモートからアクセス可能な「ワイルドカード アドレス」( 0.0.0.0
IPv4 の場合は 、::
IPv6 の場合は ) もあります。
プログラムがポートのリッスンを開始するまで、ポートは実際には「閉じられている」状態です。
このsudo netstat -tulpn
コマンドは、リッスン中の TCP/UDP プログラムを表示するために使用できます。デフォルトの Ubuntu デスクトップ インストールでは、次のように表示されます。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2254/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1346/cupsd
tcp6 0 0 ::1:631 :::* LISTEN 1346/cupsd
udp 0 0 0.0.0.0:59296 0.0.0.0:* 1152/avahi-daemon:
udp 0 0 127.0.0.1:53 0.0.0.0:* 2254/dnsmasq
udp 0 0 0.0.0.0:68 0.0.0.0:* 1684/dhclient
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1152/avahi-daemon:
udp6 0 0 :::5353 :::* 1152/avahi-daemon:
udp6 0 0 :::53537 :::* 1152/avahi-daemon:
ここで、avahi-daemon が UDP ポート 59296、5353、53537 でネットワーク経由でアクセスできることがわかります。最後の 2 つは avahi-daemon の標準で、最初のアドレスはおそらく他の 2 つのポートを使用して通信されるランダム アドレスです。このデーモンは「ネットワーク検出」に使用され、「ファイル共有」などの操作を実行できます。また、UDP ポート 68 でグローバルにリッスンしている DHCP クライアントもあります。
一部のサービスはローカルでのみリッスンし、ネットワーク経由ではアクセスできません。これらは、DNS キャッシュ サービス dnsmasq (UDP ポート 53) とプリンター サービス CUPS (TCP 631) です。
また、「ポートをリッスンする」および「ポートが確立される」とは、簡単に言うとどういう意味ですか?
「確立されたポート」という概念はなく、「確立された接続」という概念のみです。リスニング用に開かれたポートは、そのポートで流れるデータに関心のあるプログラムによってバックアップされます。これらのポートは通常静的であり、HTTP は TCP ポート 80 で実行され、DNS は UDP ポート 53 で実行されます。これらの標準により、他のネットワーク デバイスがサービスをすばやく見つけることができます。
両方のネットワーク デバイスが相互に通信することに合意すると、TCP 接続が確立されます。
答え2
その発言はない正解です。デフォルトではインストールされるサービスはほとんどないというのは事実です。また、接続/問い合わせを待機しているサービスがない場合 (これが「リスニング」の意味です)、そのポートを閉じる必要はありません。
しかし、デフォルトではインストール済みサービスは実行されており、誰かがサービスにアクセスするのを防ぐファイアウォール ルールは設定されていません。
追加の質問ですが、「ポート」は電話の内線番号のようなもので、電話の内線番号が企業内の人物または 1 つの部門を指定するのと同じように、この番号を介して通信する 1 つのプログラムを指定します。