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

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

一部のLinuxソフトウェアは、着信接続をリッスンすることで機能します。簡単な例は、誰かがWebサイトに移動するたびにユーザー要求を処理するWebサーバーです。 Linuxの管理者またはユーザーは、システムのどのポートがインターネットに接続されているかを常に把握しておくことが重要です。そうしないと、コンピュータへの外部接続が行われていることに気付かず、帯域幅とリソースを消費し、潜在的なセキュリティホールになる可能性があります。

このガイドでは、UbuntuLinuxで開いているポートを確認する方法を説明します。これは、いくつかの異なるコマンドラインユーティリティを使用して実行できます。これについては、後で詳しく説明します。また、Ubuntuのufwファイアウォールを使用してポートが安全であることを確認する方法についても説明します。それで、あなたはあなたのシステムのどのポートが開いているか知っていますか?調べてみましょう。

このチュートリアルでは、次のことを学びます。

  • ssで開いているポートを確認する方法 コマンド
  • Nmapユーティリティを使用して開いているポートを確認する方法
  • ufwファイアウォールで許可されているポートを確認して追加する方法

ssコマンドを使用してUbuntuLinuxで開いているポートを確認する

ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
システム Ubuntu Linux
ソフトウェア ss、Nmap、ufwファイアウォール
その他 rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
コンベンション –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

ssコマンドで開いているポートを確認します

ssコマンドを使用して、接続をリッスンしているポートを表示できます。また、接続を受け入れているネットワークも表示されます。

-ltnの使用をお勧めします 簡潔で関連性のある出力を表示するコマンドのオプション。テストシステムの例を見てみましょう。

$ sudo ss -ltn
State      Recv-Q     Send-Q         Local Address:Port            Peer Address:Port     Process     
LISTEN     0          4096           127.0.0.53%lo:53                   0.0.0.0:*                    
LISTEN     0          5                  127.0.0.1:631                  0.0.0.0:*                    
LISTEN     0          70                 127.0.0.1:33060                0.0.0.0:*                    
LISTEN     0          151                127.0.0.1:3306                 0.0.0.0:*                    
LISTEN     0          5                      [::1]:631                     [::]:*                    
LISTEN     0          511                        *:80                         *:* 

サーバーがポート80、3306、および33060で接続をリッスンしていることがわかります。これらは、HTTPおよびMySQLに関連付けられているよく知られたポートです。

ssも表示されます 出力は、ポート53と631がリスニング状態にあることを示しています。これらは、それぞれDNSおよびインターネット印刷プロトコル用です。これらはデフォルトで有効になっているため、自分のシステムでリッスンしていることがわかります。 DNSポートは実際には開いていませんが、システムにインストールされているアプリケーションに名前解決を提供します。

これらのリスニングポートが属するプロセスを確認するには、-pを含めます。 コマンドのオプション。

$ sudo ss -ltnp
State    Recv-Q   Send-Q      Local Address:Port        Peer Address:Port   Process                                      
LISTEN   0        4096        127.0.0.53%lo:53               0.0.0.0:*       users:(("systemd-resolve",pid=530,fd=13))   
LISTEN   0        5               127.0.0.1:631              0.0.0.0:*       users:(("cupsd",pid=572,fd=7))              
LISTEN   0        70              127.0.0.1:33060            0.0.0.0:*       users:(("mysqld",pid=2320,fd=32))           
LISTEN   0        151             127.0.0.1:3306             0.0.0.0:*       users:(("mysqld",pid=2320,fd=34))           
LISTEN   0        5                   [::1]:631                 [::]:*       users:(("cupsd",pid=572,fd=6))              
LISTEN   0        511                     *:80                     *:*       users:(("apache2",pid=2728,fd=4),("apache2",pid=2727,fd=4),("apache2",pid=2725,fd=4))

これで、systemd-resolve、cupsd、mysqld、およびapache2が、着信接続をリッスンするためにポートを利用しているサービスであることがわかります。

nmapで開いているポートを確認します

Nmapは、リモートホストで開いているポートをチェックするために使用できるネットワーク偵察ツールです。ただし、これを使用して独自のシステムをチェックし、開いているポートのクイックリストを取得することもできます。

通常、NmapがスキャンするリモートIPアドレスを指定します。代わりに、localhostを指定して、独自のシステムをスキャンできます。 コマンドで。

$ sudo nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2021-03-12 20:43 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
80/tcp   open  http
631/tcp  open  ipp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds

ufwファイアウォールで開いているポートを確認する

覚えておくべき大きな注意点があります。 ssを使用する場合 またはnmap localhost ローカルシステム上のコマンドでは、ファイアウォールをバイパスしています。実際、これらのコマンドはリスニング状態のポートを表示しますが、ファイアウォールが接続を拒否している可能性があるため、必ずしもポートがインターネットに開いていることを意味するわけではありません。

次のコマンドでufwファイアウォールのステータスを確認します。

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

出力から、ufwが着信接続を拒否していることがわかります。ポート80と3306が例外として追加されていないため、ssにもかかわらず、HTTPとMySQLは着信接続を受信できません。 およびnmap リスニング状態にあることを報告します。

次のコマンドを使用して、これらのポートの例外を追加しましょう。

$ sudo ufw allow 80/tcp
Rule added
Rule added (v6)
$ sudo ufw allow 3306/tcp
Rule added
Rule added (v6)

ufwのステータスを再度確認して、ポートが開いていることを確認できます。

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere                  
3306/tcp                   ALLOW IN    Anywhere                  
80/tcp (v6)                ALLOW IN    Anywhere (v6)             
3306/tcp (v6)              ALLOW IN    Anywhere (v6)

これで、2つのポートがファイアウォールで開いており、リスニング状態になっています。コマンドの例など、ufwファイアウォールの詳細については、Linuxでのufwファイアウォールのインストールと使用に関するガイドを確認してください。

まとめ

このガイドでは、ssの使用方法を説明しました コマンド、およびnmap UbuntuLinuxでリスニングポートをチェックするユーティリティ。また、ufwファイアウォールをチェックして、開いているポートを確認し、必要に応じて例外を追加する方法も学びました。

ポートがリスニング状態にあり、ファイアウォールの通過が許可されている場合、ポートは着信接続に対して開いている必要があります。ただし、これは、ルーターや、コンピューターとインターネットの間にある他のネットワークデバイスにも依存します。これは、着信接続をブロックする独自のルールがある場合があるためです。


Ubuntu
  1. netstat、lsof、およびnmapを使用してLinuxで開いているポートを確認する方法

  2. UbuntuでLinuxカーネルのバージョンを確認する方法は?

  3. Ubuntu/Debianでポートを開く方法

  1. Ubuntu Linuxサーバーの稼働時間を確認する-その方法は?

  2. Ubuntu – Linuxで.bakファイルを開く方法は?

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

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

  2. Ubuntu 20.04 FocalFossaLinuxでIPアドレスを確認する方法

  3. UbuntuLinuxでISOファイルを開く方法