ssコマンドは、ポートなどのデータをどこで収集しますか?

ssコマンドは、ポートなどのデータをどこで収集しますか?

私のシステムのポートの競合を確認しようとしたときに、多くのオンラインサイトで以下を使用することを提案しました。/etc/サービスまたはSSトンネルポート情報を見る

私は気づいた/etc/サービスさまざまな情報が提供されています-春夏シーズンほとんどの場合。

出力比較例

sudo cat /etc/services

ftp                21/udp
ftp                21/sctp
ssh                22/tcp
ssh                22/udp
ssh                22/sctp
telnet             23/tcp
telnet             23/udp
smtp               25/tcp

比較的

ss -tunl

Netid  State   Recv-Q   Send-Q   Local Address:Port    Peer Address:Port                               
udp    UNCONN  0        0        0.0.0.0:5353          0.0.0.0:*                                  
udp    UNCONN  0        0        0.0.0.0:46670         0.0.0.0:*                                  
udp    UNCONN  0        0        [::]:5353             [::]:*                                  
udp    UNCONN  0        0        [::]:38838            [::]:*   

はい/etc/サービス静的データファイルは指示としてのみ使用でき、システムの実際のポート設定を実際に反映することはできません。

どこ春夏シーズンプログラムは、このポートデータと特定のポートを変更/削除する方法を収集します。春夏シーズンそれとも別のプログラムですか?

答え1

このファイルは/etc/servicesポートの番号 - 名前マッピングのみを提供し、ポートssにリストされているものとは何の関係もありません。また、このファイルの名前はポートの一般的な使用であり、システムの実際のポート使用ではありません。十分な権限を持つすべてのプログラムは、任意の目的ですべてのポートを開くことができるからです。既定では、/etc/servicesIANA 割り当て番号レジストリのサブセットです。

ssシステムで使用されているポートが一覧表示されます。 ssにリストされている場合は使用中です。ルートとして実行すると、特定のオープンポートを持つss -pプロセスを一覧表示する必要があります。

使用しているポートは直接変更できません。あなたがすべきことは、sudo ss -pどのプログラムがそのポートを使用しているかを見つけてそれを終了することです。または、逆にssにポートがリストされていませんが、それが必要な場合は、そのポートを使用してサービスを開始します。

ポートが作成および削除される可能性があるのは一般的な誤解です。ポートは数字だけで、常に存在し、削除または作成することはできません。使用中または使用中ではありません。

答え2

これは2つの異なるものです。この/etc/servicesファイルは、サービスが通常使用するポートを示しています。https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

ssTCPポート80および443でリッスンしているWebサーバーなど、着信接続を待っている間にコンピューターで現在アクティブなサービスを表示するコマンド。また、WebブラウザやSSHクライアントを介してWeb / Sshサーバーに接続するなど、現在開いている発信接続も表示します。

ssnetstatこれは廃止され、置き換えられた以前のコマンドと似ていますss

関連情報