GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで開いているポートを確認する方法は?

Linuxをサーバーまたはデスクトップとして使用しているかどうかに関係なく、開いているポートまたは使用中のポートを知ることは、さまざまな状況で役立ちます。

たとえば、ApacheまたはNgnixベースのWebサーバーを実行している場合、使用中のポートは80または443である必要があります。ポートを確認すると、それが確認されます。同様に、SMTP、SSH、またはその他のサービスで使用されているポートを確認できます。どのポートが使用されているかを知ることは、ポートを新しいサービスに割り当てるときに役立ちます。

侵入検知用に開いているポートがあるかどうかを確認することもできます。

Linuxでポートをチェックする方法はいくつかあります。このクイックヒントでは、私のお気に入りの2つの方法を紹介します。

方法1:現在ログインしているLinuxシステムで開いているポートを確認する方法lsofコマンド

直接またはSSH経由でシステムにログインしている場合は、lsofコマンドを使用してそのポートを確認できます。

sudo lsof -i -P -n

このlsofコマンドは、ユーザーが使用するファイルとプロセスを検索するために使用されます。ここでのオプションユーザーは次のとおりです。

  • -i:IPアドレスが指定されていない場合、このオプションはすべてのネットワークファイルのリストを選択します
  • -P:ネットワークファイルのポート番号からポート名への変換を禁止します
  • -n:ネットワーク番号からネットワークファイルのホスト名への変換を禁止します

ただし、これは、コンピューターが実際にはリッスンしない多くの追加ポートも示しています。

この出力をgrepコマンドにパイプして、次のようにパターン「LISTEN」に一致させることができます。

sudo lsof -i -P -n | grep LISTEN

これには、コンピュータがアクティブにリッスンしているポートと、その開いているポートを使用しているサービスのみが表示されます。

方法2:netcatコマンドを使用してリモートLinuxサーバーのポートを確認する

nc(Netcat)は、TCPおよびUDPプロトコルを使用してネットワーク経由でコンピューター間でデータを読み書きするコマンドラインユーティリティです。

以下に、ncの構文を示します。 コマンド:

nc [options] host port

このユーティリティには、気の利いた-zがあります。 国旗。使用すると、ncになります 実際にポートにデータを送信せずに、リッスンしているデーモンをスキャンします。

これを-vと組み合わせます フラグを立てて冗長性を有効にすると、詳細な出力を取得できます。

以下は、ncを使用して開いているポートをスキャンするために使用できるコマンドです。 コマンド:

nc -z -v <IP-ADDRESS> 1-65535 2>&1 | grep -v 'Connection refused'

IP-ADDRESSを置き換えます ポートをチェックしているLinuxシステムのIPアドレスを使用します。

値を選択した理由は1 65535へ 、これは、ポート範囲が1から始まるためです。 65535で終了します 。

最後に、出力をgrepにパイプします 指図。 -vを使用する オプションの場合、一致するパターンとして「接続が拒否されました」を含む行は除外されます。

これにより、ネットワーク上の別のマシンからアクセスできる、コンピューター上で開いているすべてのポートが表示されます。

結論

2つの方法のうち、私はlsofコマンドを好みます。 ncコマンドよりも高速です。ただし、システムにログインし、そのためのsudoアクセス権を持っている必要があります。つまり、システムを管理している場合は、lsofの方が適しています。

ncコマンドには、ログインせずにポートをスキャンする柔軟性があります。

どちらのコマンドも、現在のシナリオに基づいてLinuxで開いているポートを確認するために使用できます。お楽しみください。


Linux
  1. LinuxでSuコマンドを使用する方法

  2. Linuxでポートを閉じる方法は?

  3. LinuxでNetstatを使用してリスニング/オープンポートを確認する方法

  1. Linuxシステムが32ビットか64ビットかを確認する方法

  2. リモートLinuxシステムで開いているポートを確認する方法

  3. Linux/Unix サーバーで開いているポートを一覧表示する方法

  1. RHEL 8 / CentOS8Linuxで開いているポートを確認する方法

  2. UbuntuLinuxで開いているポートを表示/確認する方法

  3. Linuxで開いているポートを確認(スキャン)する方法