ポート番号(Port Number)とは、コンピュータがインターネットやネットワーク通信を行う際、IPアドレスで特定された機器の中で「どのプログラム(サービス)と通信するか」を指定するための扉の番号です。
0から65535までの数値が使われ、IPアドレスとセットで(例:192.168.1.1:80 のようにコロンで繋いで)表記されることがよくあります。
IPアドレスとの違い(役割)
現実世界における郵便や訪問に例えると、IPアドレスとポート番号の関係がよく分かります。
| ネットワーク上の要素 | 役割 | 現実世界に例えると |
|---|---|---|
| IPアドレス | 通信相手となる「機器(サーバーやPC)」を特定する。 | 建物の住所(〇〇ビル) |
| ポート番号 | その機器の中で動いている「どのプログラム」宛てかを特定する。 | 部屋番号・担当窓口(〇〇号室・受付) |
1つのサーバー(建物)の中では、Webサイトを表示するプログラム、メールを送受信するプログラム、データベースのプログラムなどが同時に動いています。通信が届いた際、どのプログラムに処理を渡すべきかを判断するためにポート番号が使われます。
ポート番号の3つの区分
ポート番号は0〜65535までの範囲があり、使われ方によって大きく3つのグループに分けられています。番号の範囲ごとに役割が異なります。
| 区分 | 番号の範囲 | 用途 |
|---|---|---|
| ウェルノウンポート | 0〜1023 | HTTPやメールなど、代表的なサービスにあらかじめ割り当てられた番号。 |
| 登録済みポート | 1024〜49151 | 特定のソフトやサービス向けに登録・予約された番号。 |
| 動的・プライベートポート | 49152〜65535 | その都度一時的に自動で割り当てられる番号。 |
ウェルノウンポート(0〜1023)は、世界共通で用途が厳密に決められています。以下は、システム開発やインフラ構築の現場で特によく目にする代表的なポート番号です。
登録済みポート(1024〜49151)は、特定のアプリケーションやサービスのために、番号を管理する団体(IANA)へ登録・予約される範囲です。たとえばMySQLの3306番やPostgreSQLの5432番などが代表例で、ウェルノウンポートほど厳密ではないものの、慣習的に決まった番号が使われます。
動的・プライベートポート(49152〜65535)は、特定の用途に固定されていない自由な範囲です。パソコンがサーバーへアクセスする際、自分側の一時的な受け口として、この範囲から空いている番号が自動的に割り当てられます。通信が終われば解放され、次の通信で再び使われます。「エフェメラルポート(一時的なポート)」とも呼ばれます。
代表的なポート番号
主要なウェルノウンポート(0〜1023)
| 番号 | 名称 | 分類 | 内容 |
|---|---|---|---|
| 20・21 | FTP | ファイル転送・遠隔操作 | ファイル転送。20がデータ、21が制御 |
| 22 | SSH | ファイル転送・遠隔操作 | 暗号化された遠隔操作。SFTPも使用 |
| 23 | Telnet | ファイル転送・遠隔操作 | 暗号化されない遠隔操作。現在は非推奨 |
| 25 | SMTP | メール | メールの送信・サーバー間の転送 |
| 53 | DNS | 名前解決・時刻・機器管理 | ドメイン名とIPアドレスの変換 |
| 67・68 | DHCP | 名前解決・時刻・機器管理 | IPアドレスの自動割り当て |
| 80 | HTTP | ウェブ | 暗号化されていないウェブ通信 |
| 88 | Kerberos | 名前解決・時刻・機器管理 | Active Directoryなどで使われる認証プロトコル |
| 110 | POP3 | メール | メールの受信(端末へ取り込む方式) |
| 123 | NTP | 名前解決・時刻・機器管理 | 機器の時刻合わせ |
| 135 | RPC | ファイル転送・遠隔操作 | Windowsのプロセス間通信の窓口。DCOMなどで使用 |
| 143 | IMAP | メール | メールの受信(サーバー上で管理する方式) |
| 161・162 | SNMP | 名前解決・時刻・機器管理 | ネットワーク機器の監視 |
| 389 | LDAP | 名前解決・時刻・機器管理 | 利用者情報の管理・認証 |
| 443 | HTTPS | ウェブ | 暗号化されたウェブ通信 |
| 445 | SMB | ファイル転送・遠隔操作 | Windowsのファイル共有 |
| 464 | Kerberos | 名前解決・時刻・機器管理 | パスワード変更など、認証にまつわる補助的な通信 |
| 465 | SMTPS | メール | 暗号化されたメール送信 |
| 514 | Syslog | 名前解決・時刻・機器管理 | 動作記録の収集 |
| 587 | SMTP | メール | 利用者がメールを送信する際に使う番号 |
| 631 | IPP | 名前解決・時刻・機器管理 | ネットワーク経由の印刷 |
| 636 | LDAPS | 名前解決・時刻・機器管理 | 暗号化されたLDAP |
| 993 | IMAPS | メール | 暗号化されたIMAP |
| 995 | POP3S | メール | 暗号化されたPOP3 |
主要な登録済みポート(1024〜49151)
| 番号 | 名称 | 分類 | 内容 |
|---|---|---|---|
| 1433 | Microsoft SQL Server | データベース | Microsoft SQL Serverの既定のポート |
| 1521 | Oracle Database | データベース | Oracle Databaseの既定のポート |
| 3306 | MySQL・MariaDB | データベース | MySQL・MariaDBの既定のポート |
| 3389 | RDP | ファイル転送・遠隔操作 | Windowsのリモートデスクトップ |
| 5432 | PostgreSQL | データベース | PostgreSQLの既定のポート |
| 5900 | VNC | ファイル転送・遠隔操作 | 画面を共有して遠隔操作する仕組み |
| 6379 | Redis | データベース | Redisの既定のポート |
| 8080 | HTTP代替 | ウェブ | 開発中や検証用のウェブサーバー |
| 27017 | MongoDB | データベース | MongoDBの既定のポート |
暗号化されたものは別の番号が使われる
一覧を見て分かるとおり、同じ用途でも暗号化に対応した通信には別の番号が割り当てられています。80番と443番、110番と995番といった対応がそれにあたります。設定を確認する際は、暗号化を使う設定になっているか、番号とあわせて見ておくと確実です。
TCPとUDPは別々に管理される
ポート番号は、TCPとUDPという二つの通信方式それぞれに、同じ番号が別々に用意されています。たとえば53番はDNSで使われますが、通常の問い合わせはUDP、大きな応答や領域の転送ではTCPというように、場面によって使い分けられています。
外部に開けてはいけない番号がある
とくに注意が必要なのが、Windowsのファイル共有に使う445番と、暗号化されないTelnetの23番です。これらがインターネット側から届く状態になっていると、侵入や情報の抜き取りの入口になります。社内でのみ使う番号は、外から届かないよう遮断しておくことが基本です。
標準以外の番号を使うこともある
攻撃を試みる側は、まず標準の番号を狙って探索します。そのためSSHの22番を別の番号に変えて運用する例もあります。ただし番号を変えただけでは根本的な守りにはならないため、認証の強化とあわせて行う必要があります。
システム開発における重要キーワード
インフラ構築やセキュリティ設定の現場で、ポート番号に関連して頻出する用語です。
- ファイアウォール(Firewall) / セキュリティグループ
外部からの不正アクセスを防ぐための「門番」システムです。「Webサイト用の80番と443番だけは誰でも通して良いが、遠隔操作用の22番は社内のIPアドレスからしか通さない」といったように、ポート番号単位で通信の許可・遮断(ポートの開放 / 閉鎖)を設定します。 - Listen(リッスン:待ち受け)
サーバー上のプログラムが「いつでも通信を受け付けられるように、指定されたポート番号を開いて耳を澄ませている状態」のことです。「Webサーバーが80番ポートでListenしている」のように表現します。 - ポートフォワーディング(Port Forwarding)
ルーターやサーバーに届いた特定のポート宛ての通信を、別の機器や別のポート番号へ自動的に転送する仕組みです。Docker(コンテナ技術)やローカル開発環境の構築時によく利用されます。

コメント