Port Number Lookup ポート番号照会比較表
TCP/UDP ポートの用途、一般的なサービス、セキュリティ上の推奨事項をすばやく確認できます。
適用対象 ネットワーク管理、ファイアウォール設定、Docker、NAS 付き セルフサービス。
❓ FAQ FAQ
ネットワークポートに関するよくある質問と回答
a Port? Why is it important とは何ですか?
Port(ポート / ポート番号) ネットワーク通信で特定のアプリケーションやサービスを識別するための番号です。IP アドレスを「建物の住所」に例えるなら、Port は「建物内の部屋番号」と考えると分かりやすいでしょう。
PC がサーバーと通信するには、相手の IP アドレスだけでなくポート番号も指定する必要があります。これにより、データを対応するアプリケーションへ正しく届けられます。たとえばブラウザは Web サーバーへの HTTP 接続で Port 80 を使用します。
ポート範囲:
- Well Known Ports(0–1023) — System reserved。IANA が HTTP、SSH、FTP など well-known service に割り当てています。
- Registered Ports(1024–49151) — application や database が利用する port として登録できます(MySQL 3306、Redis 6379 など)。
- Dynamic / Private Ports(49152–65535) — 一時的な接続や custom service 向けに動的割り当てされます。
TCP と UDP の違いは何ですか?
TCP と UDP は transport layer の 2 つの中核 protocol です。最大の違いは、 信頼性 付き 効率:
TCP(Transmission Control Protocol) — 信頼性は高いが低速
🔹 connection を確立します(three-way handshake)。
🔹 data delivery を保証します(confirmation mechanism/Auto-Retry)。
🔹 data の順序(serial number)を保証します。
🔹 用途:Web browsing(HTTP)、Email(SMTP)、file transfer(FTP)、SSH
UDP(User Data Packet Protocol) — 高速ですが信頼性は低い
🔹 接続なし(送信して終了)
🔹 到達は保証されません(パケットが失われる場合があります)
🔹 順序は保証されません
🔹 適用例:DNS クエリ、動画ストリーミング、オンラインゲーム、VoIP 音声通話
💡 選択の原則: データ完全性を重視するなら TCP、即時性を重視するなら UDP が基本です。両方に対応するサービスも多く、たとえば DNS は通常 UDP を使い、512 bytes を超える場合などに TCP へ切り替わることがあります。
Docker Port Mapping とは何ですか?どのように動作しますか?
Docker Port Mapping Docker container 内部の port を host 側の port へ mapping し、外部から host IP 経由で container 内の service にアクセスできるようにする仕組みです。
構文:docker run -p 主機埠:容器埠
実用例:
docker run -p 8080:80 nginx
→ コンテナ内のポート 80(Nginx)をホストのポート 8080 にマッピングします
→ 外部から透過可能 http://主機IP:8080 アクセス
⚠️ 安全上の注意:
- database port(3306 など)を host へ直接公開しないでください(必要な場合を除く)
- Docker の internal network(bridge network)を使えば、Port を外部公開せず container 間で通信できます。
- 必要なポートだけをマッピングし、使用しない
-p 0.0.0.0:80:80すべてのインターフェースへ公開
どの port に一般的な security risk があり、どのように保護すべきですか?
不要な Port を開放することは、ネットワークセキュリティで特に一般的なリスクの一つです。以下に攻撃対象になりやすい Port と保護策を示します。
🔴 高リスクポート
- ポート 22 (SSH) — password login を無効にし、SSH Key を使用し、必要に応じて non-standard port へ変更します。
- ポート 23 (Telnet) — まったく推奨されません。代わりに SSH を使用してください
- Port 445(SMB) — インターネットへ直接公開すべきではありません(WannaCry ランサムウェアはこのポートを通じて拡散しました)
- ポート 3306 (MySQL) — 内部ネットワークからのアクセス専用とし、インターネットへ公開しないでください
- ポート 3389 (RDP) — VPN 接続経由でアクセスするか、NLA 認証を有効にします
🛡️ 一般的な保護原則:
- ファイアウォールでは必要なポートだけを開放します(最小権限の原則)
- VPN を使って internal management interface へ access します。
- 外部へ開放している port を nmap などで定期的に scan してください。
- Fail2Ban などの侵入防止機構を有効化します
- サービスのバージョンを最新に保つ(既知の脆弱性を修正)
NAT/Port Forwarding とは何ですか?router ではどう設定しますか?
Port Forwarding NAT(Network Address Translation)の機能の一つで、router の IP を通じて外部 network から内部 LAN の service へアクセスできるようにします。
代表的な使用シーン:
- 自宅に Web サーバーを構築する(ポート 80/443 を内部ホストへ転送)
- NAS への remote access(特定の management port を forwarding)
- 会社 PC への Remote Desktop 接続(Port 3389 を forwarding)。
- self-hosted Minecraft server(Port 25565 を forwarding)
⚠️ 安全上の注意:
- 必要な port だけ forwarding してください(全 port forwarding は避ける)。
- 可能であれば標準以外のポートを使用します(例: SSH を 22 ではなく 2222 に設定)
- ファイアウォールルールで接続元 IP を制限します
- 外部サービスを一元管理するため、Nginx Proxy Manager などの Reverse Proxy 利用を検討してください。
- ルーターのポート転送ルールを定期的に確認します
一般的な NAS service はどの port を使いますか?
NAS(Network Attached Storage)device は、file sharing、media streaming、management 機能のためにさまざまな Port を使用します。
Synology / QNAP の一般的なポート
- 5000 / 5001 — DSM/QTS Web management interface(HTTP/HTTPS)。
- 21 — FTP ファイル転送
- 137-139 — NetBIOS / SMB ファイル共有(Windows)
- 443 — HTTPS 安全接続
- 548 — AFP(Apple File Sharing)
- 2049 — NFS(Linux ファイル共有)
- 9091 — Transmission BT ダウンロード管理
- 32400 — Plex Media Server
💡 推奨: NAS の管理画面をインターネットへ直接公開しないでください。アクセス前に VPN へ接続することをおすすめします。リモートアクセスが必要な場合は HTTPS(Port 5001)を有効にし、強力なパスワードを使用してください。
ポートが開いているか確認するには?
port が開いているか確認する方法は、簡単なものから高度なものまでいくつかあります。
1️⃣ nmap を使用(最も強力)
nmap -sT -p 80,443 目標IP
指定した IP の特定ポートをスキャン
2️⃣ telnet を使う(簡易 TCP テスト)
telnet 目標IP 埠號
接続に成功すればポートは開いています
3️⃣ nc(netcat)を使用
nc -zv 目標IP 埠號
-z はデータ送信なしで scan のみ、-v は詳細情報を表示します
4️⃣ オンラインツール
- YouGetSignal — オンライン Port スキャンツール
- CanYouSeeMe — Port が外部から見えているか確認します。
💡 注記: 自分が所有していないサーバーをスキャンする前に、必ず許可を得てください。無断スキャンは法律に違反する可能性があります。
📖 ネットワークポート完全ガイド
ネットワークポートの仕組み、分類、ベストプラクティスを詳しく確認できます。
ネットワークポートとは何ですか?
ネットワークポート TCP/IP プロトコルで異なるネットワークサービスを識別するために使う論理番号です。集合住宅に例えると、IP アドレスが「建物の住所」、Port が「部屋番号」に相当し、データを正しいアプリケーションへ届ける役割を担います。
port number は 16 bit unsigned integer で、範囲は 0~65535. Internet Assigned Numbers Authority(IANA)は Port を 3 つの範囲に分類しています:
- Well Known Ports(0–1023) — システム予約範囲で、使用には root / admin 権限が必要です。HTTP、FTP、SSH、DNS など代表的な Web・ネットワークサービスに割り当てられています
- Registered Ports(1024–49151) — application registration に利用できる scope です。database、game server、enterprise software などで使われます。
- Dynamic / Private Ports(49152–65535) — 一時的な接続に使われます。たとえばブラウザが Web サーバーへ接続するときに利用するランダム port などです。
TCP と UDP の違い
ポートを理解する前に、まず理解しておく必要があります TCP と UDP この 2 つのトランスポート層プロトコルには、次の違いがあります。
TCP(Transmission Control Protocol)
TCP は有線誘導、信頼可能 TCP は接続型の伝送プロトコルです。データ送信前にクライアントとサーバーが「Three-Way Handshake」で接続を確立します。TCP はデータを完全かつ正しい順序で届け、パケットが失われた場合は自動的に再送します。
data integrity が必要な application に適しています。Web ブラウジング(HTTP/HTTPS)、メール(SMTP、IMAP)、ファイル転送(FTP、SFTP)、リモート接続(SSH、Telnet)。
UDP(User Datagram Protocol)
UDP は接続なし、信頼性が低い UDP はコネクションレス型の伝送プロトコルです。接続を確立せず、到達確認や順序保証も行わずにデータグラムを直接送信します。その分オーバーヘッドが小さく、非常に低い遅延を実現できます。
即時性が求められる用途に最適です:DNS クエリ、動画ストリーミング、オンラインゲーム、VoIP 音声通話、DHCP。
選択の原則:
データ整合性 > 速度 → TCP
即時性 > 完全性 → UDP
多くのサービスは TCP と UDP の両方に対応します。たとえば DNS は通常 UDP を使い、必要に応じて TCP へ切り替えます。
一般的なサービスと対応ポート
よく使われるネットワークサービスと標準 Port は次のとおりです:
- 20/21(FTP) — File Transfer Protocol(data 用 20、control 用 21)
- 22(SSH) — Secure Shell。暗号化された remote connection。
- 25(SMTP) — Mail Transfer Protocol
- 53(DNS) — Domain Name System(主に UDP)
- 80(HTTP) — グローバル情報ネットワーク、暗号化されていない Web 閲覧
- 443(HTTPS) — 暗号化された Web 閲覧(TLS/SSL)
- 3306(MySQL) — MySQL データベース
- 5432(PostgreSQL) — PostgreSQL データベース
- 6379(Redis) — Redis キャッシュデータベース
- 27017(MongoDB) — MongoDB データベース
Firewall と Port 管理のベストプラクティス
外部公開 port の適切な管理は network security の第一防衛線です:
- 最小権限の原則 — 必要な port だけ開き、whitelist にない port はすべて閉じてください。
- 既定のポートを変更 — SSH、データベースなどのサービスを標準以外のポートへ移動する(例: SSH を 2222 に変更)
- VPN を使用 — VPN 経由で access する management interface(NAS、router、database など)。
- ファイアウォールルール — management port へ access できる source IP を制限します。
- Fail2Ban — brute force attack を試みる IP を自動 block します。
- 定期的にスキャン — nmap などのツールを使い、外部へ公開されているポートを確認します
- Docker の注意事項 — 必要がない限り container port を host の 0.0.0.0 へ直接 map しないでください。
Docker Port Mapping の詳細解説
Docker 環境では、ポート管理がより複雑になります:
各 container は独自の internal network を持ち、その中の service は特定の port number で listen します。外部から service へアクセスできるようにするには、 -p ポートマッピングのパラメーター:
docker run -p 8080:80 nginx
Host Port 8080 → Container Port 80
提案: Docker Compose を使用する場合、 ports: mapping relationship は section ごとに明確に定義されています。使用方法: 127.0.0.1:8080:80 Port をローカルマシンだけで listen させ、外部公開するサービスは Nginx Proxy Manager や Traefik などの reverse proxy で集中管理する方法があります。
概要: ネットワークポートはネットワーク通信の基盤です。各 Port の用途を理解し、適切なプロトコル(TCP/UDP)を選び、適切なセキュリティ対策を実施することは、システム管理者や開発者にとって重要なスキルです。ToolHub の Port Number Lookup を使えば、任意のポートについて情報とセキュリティ上の推奨事項をいつでも確認できます。