ポートとは?
ポートは、アプリケーションがさまざまなプロトコルを使用して通信できる抽象化です。ポートは、TCP、UDP、SMTP などのトランスポート層プロトコルに使用されます。さまざまなサービスにポート番号が割り当てられます。たとえば、HTTP で使用されるポート 80、SSH で使用されるポート 22 などです。ポート番号を使用すると、システムによっては同じトランスポート プロトコルで多くのソケットを開くことができます。
複数のポートと動的ポート 49152 ~ 65535 がアプリケーションで使用されます。最初の 1024 ポート (00-1023) はシステム ポートであり、ユーザー プログラムによる干渉を防ぎます。これは、多くのオペレーティング システムがこれらのポートを特権機能用に予約しているためです。
ポートはデータを送受信でき、トランスポート層の上に配置されます。 OSI モデル。
プロセスとは?
本質的に、プロセスはプログラムの動的インスタンスであり、順次実行されます。インスタンスはプロセスとして指定され、システムに実装されるコア作業単位を表します。簡単に言えば、テキスト ファイルでコンピューター プログラムを作成し、そのプログラムを実行すると、プログラムで指定されたすべてのタスクを実行するプロセスになります。
それでは、Ubuntu で実行されているポートとプロセスを確認する方法を見てみましょう。
方法 1:netstat および grep コマンドを使用する
ネット統計
ネット統計 コマンドは、ネットワーク ステータスとプロトコル統計を表示します。使用するコマンド ライン パラメータに応じて、netstat はさまざまな種類のネットワーク データを表示します。 TCP および UDP エンドポイントは、表形式、ルーティング テーブル、およびインターフェイス情報の形式で表示できます。
grep
grep filter はファイルを調べ、特定の文字パターンのこのパターンを含む各行を表示します。ファイル内で検索されるパターンは、正規表現と呼ばれます。
次のコマンドを使用して、ポートで実行されているプロセスを確認します。このコマンドでポートを指定する必要があります。
$ netstat -ltnp | grep -w ':80'
方法 2:netstat を使用してすべてのリッスン ポートを一覧表示する
次のコマンドを使用して、リッスンしているすべての TCP または UDP ポート (ポートとソケット ステータスを使用しているポートを含む) を一覧表示します。
sudo netstat -tunlp
方法 3:ss コマンドを使用する
コマンド ss 統計ソケットをクリアし、同様の情報を提供するために使用されるユーティリティです。 netstat を表示する .また、他のほとんどのツールよりも TCP およびステータス情報を表示します。また、netstat よりも少し高速です .
卒業証書
システムが使用しているポートと、特定のポートでの実行方法を確認するためのさまざまなコマンドを見てきました。これらのコマンドは、システム パフォーマンスの最適化やさまざまなデバッグ タスクで特に役立ちます。たとえば、ポート 8000 で Web アプリケーションを実行したいが、そのポートが既にビジーである場合、そのポートで実行されているプロセスを検索し、必要に応じてそのプロセスを強制終了できます。お客様のニーズに最適な Ubuntu で実行されているポートとプロセスを確認する 3 つの方法について説明しました。