ポート番号は 0 ~ 65535 の範囲で定義されており、大きく分けて3つのカテゴリーに分類されます。
カテゴリ | 範囲 | 説明 |
---|---|---|
ウェルノウンポート (Well-Known Ports) | 0 - 1023 | 主要なサービスやプロトコルに予約されている |
登録済みポート (Registered Ports) | 1024 - 49151 | 特定のアプリケーションやベンダーが登録している |
ダイナミックポート / プライベートポート (Dynamic/Private Ports) | 49152 - 65535 | 一時的な通信に使用(OSが自動割り当て) |
主要なポート番号一覧
1. ウェルノウンポート(0 – 1023)
ポート番号 | プロトコル | 用途 |
---|---|---|
20, 21 | FTP | ファイル転送プロトコル |
22 | SSH | セキュアシェル(リモートログイン) |
23 | Telnet | 古いリモートログインプロトコル(非推奨) |
25 | SMTP | メール送信(送信用) |
53 | DNS | ドメインネームシステム |
67, 68 | DHCP | IPアドレスの自動割り当て |
80 | HTTP | Webサイト(非SSL) |
110 | POP3 | メール受信(旧式) |
119 | NNTP | ニュースグループ |
123 | NTP | ネットワーク時刻同期 |
143 | IMAP | メール受信(現在主流) |
161, 162 | SNMP | ネットワーク監視 |
179 | BGP | ボーダーゲートウェイプロトコル |
389 | LDAP | ディレクトリサービス |
443 | HTTPS | Webサイト(SSL/TLS対応) |
465 | SMTPS | メール送信(SSL/TLS) |
514 | Syslog | システムログ転送 |
587 | SMTP (Auth) | メール送信(認証付き) |
993 | IMAPS | メール受信(SSL/TLS対応) |
995 | POP3S | メール受信(SSL/TLS対応) |
2. 登録済みポート(1024 – 49151)
ポート番号 | プロトコル | 用途 |
---|---|---|
1080 | SOCKS | プロキシサーバー |
1433 | MS-SQL | Microsoft SQL Server |
1521 | Oracle | Oracleデータベース |
3306 | MySQL | MySQLデータベース |
3389 | RDP | Windowsリモートデスクトップ |
5432 | PostgreSQL | PostgreSQLデータベース |
5900 | VNC | 仮想ネットワークコンピューティング |
6379 | Redis | メモリ内データベース |
8080 | HTTP Proxy | 代替HTTPポート(Tomcatなど) |
3. ダイナミックポート(49152 – 65535)
- 主にクライアントの一時接続に使用(OSが自動割り当て)
- Webブラウザやアプリケーションがサーバーにアクセスするときに使われる
- 例:
- クライアントが
https://example.com
に接続すると、49152
以降のポートを使う
- クライアントが
デフォルトポートの変更が一般的なサービス
1. SSH(デフォルト: 22)
- 推奨: セキュリティ対策として、他のポートに変更する(例:
2222
)
sudo nano /etc/ssh/sshd_config
変更:yaml
Port 2222
適用:
sudo systemctl restart sshd
2. HTTP/HTTPS(80, 443)
- 企業や開発環境では 8080, 8443 を使用することが多い
- 例:
Nginx
やApache
で8080
に変更する
ポート番号を調べる方法
1. 使用中のポートを確認(Linux / Mac)
netstat -tulnp
または
ss -tulnp
特定のポートを検索
netstat -tulnp | grep 8080
2. Windowsでポートを確認
netstat -ano
または特定のポートを検索:
netstat -ano | findstr :8080
3. Dockerの公開ポートを確認
docker ps
例: PORTSの値
0.0.0.0:5001->5000/tcp
これは コンテナの 5000
番ポート が ホストの 5001 にマッピング されていることを示す。
IANA(Internet Assigned Numbers Authority)
IANA(Internet Assigned Numbers Authority) は、インターネットで使用されるIPアドレス、ドメイン名、ポート番号、プロトコル番号などの割り当てを管理する国際的な組織です。
IANAは、インターネットの中核的な識別子を管理する組織で、以下の3つの主要な領域を担当しています。
管理対象 | 概要 | 関連リンク |
---|---|---|
ドメイン名(DNS)管理 | ルートゾーン(TLD: .com, .org, .jp など)の管理 | IANA DNS Root Zone |
IPアドレス管理 | グローバルIPアドレスの割り当て(RIRへの配分) | IANA IP Address Allocations |
ポート番号とプロトコル管理 | TCP/UDPポート番号の公式登録 | Service Name and Transport Protocol Port Number Registry |
まとめ
ポート番号範囲 | 用途 |
---|---|
0 - 1023 | ウェルノウンポート(標準的なサービス用) |
1024 - 49151 | 登録済みポート(特定のアプリケーション用) |
49152 - 65535 | ダイナミックポート(一時的な接続用) |
よく使われるポート:
- Webサーバー:
80 (HTTP), 443 (HTTPS), 8080 (代替 HTTP)
- データベース:
3306 (MySQL), 5432 (PostgreSQL), 6379 (Redis)
- リモート接続:
22 (SSH), 3389 (RDP), 5900 (VNC)
参考
IANA(Internet Assigned Numbers Authority): ポート番号の公式割り当てを管理している組織
- IANA Service Name and Transport Protocol Port Number Registry
RFC(Request for Comments): 標準化文書
- RFC 1700: Assigned Numbers
- RFC 6335: Internet Assigned Numbers Authority (IANA) Procedures for the Management of Service Names and Transport Protocol Port Numbers
公式ドキュメント例
- SSH(ポート番号: 22)
- SSH Communications Security
- URL: https://www.ssh.com/
- OpenSSH公式ドキュメント
- SSH Communications Security
- HTTP/HTTPS(ポート番号: 80, 443)
- RFC 2818: HTTP Over TLS
- Apache HTTP Server公式ドキュメント
- Nginx公式ドキュメント
- MySQL(ポート番号: 3306)
- MySQL公式ドキュメント
- PostgreSQL(ポート番号: 5432)
- PostgreSQL公式ドキュメント
コメント