TCPやUDPにおけるポート番号の一覧

本項ではTCPやUDPにおけるポート番号の一覧を示す。
コンピュータネットワークにおいて、インターネット・プロトコル・スイートのトランスポート層にあたるTransmission Control Protocol (TCP) やUser Datagram Protocol (UDP) では、他のプロトコル同様、ホスト間通信のエンドポイントを指定する際に数字の識別子が用いられており、これをポート番号と呼んでいる。インターネットに関連する番号を統合管理している組織であるInternet Assigned Numbers Authority (IANA) は、TCPやUDPのポート番号管理も行っており、特定のポート番号とそのポート番号を用いるアプリケーションの組合せを管理している。以下の表は、これらの組合せを示したものである。
凡例.
表は以下のように色分けされている。
0-1023の範囲のポート番号は、システムポート (System Ports) 番号と呼ばれている。かつてはウェルノウンポート (Well Known Ports) 番号と呼ばれていた。0番のポートはエニーポート（any port）と呼ばれ、アプリケーションに対して、動的に別番号の空きポートを割り当てるために用意された特殊なポート番号である。別番号のポートの再割り当てを行わずに0番のポートとして使用することは禁止されているため、利用上では注意が必要である。
ユーザーポート番号 (1024–49151).
1024-49151の範囲のポート番号は、ユーザーポート (User Ports) 番号と呼ばれている。かつては登録済みポート (Registered Ports) 番号と呼ばれていた。ここでは、主なもの、Wikipedia上に記事が存在するプロトコルなどに限定してリストに挙げている。完全なリスト、最新のリストについては、IANAが公表しているリストを参照のこと。
TCPにおいては、クライアントのポート番号とサーバーのポート番号の取扱いが異なる。サーバーのポート番号は、アプリケーションごとに固有の番号である。しかし、ため、登録済みポート番号の下位番号については、あるパケットを見るだけでは、送信元と送信先のいずれがクライアントかサーバーかを即断することはできない。セッション開始時のパケットを確認する必要がある。
UDPにおいては、DNSなどのようにクライアントのポート番号とサーバーのポート番号を異なるものとする場合もあれば、インスタントメッセンジャーの一つであるIP Messengerなどのようにクライアントのポート番号とサーバーのポート番号を一致させる場合もある。なお、クライアントのポート番号とサーバーのポート番号を異なるものとする場合、クライアントのポート番号をインクリメンタルにする場合もあるが、セキュリティ上の理由などからランダム性を持たせる場合もある。
動的・私用ポート番号 (49152–65535).
この範囲のポート番号は、動的・私用ポート (Dynamic and/or Private Ports) 番号と呼ばれており、IANAによる割り当てがされないポート番号となっている。この範囲は、カスタム用途、一時的な使用、エフェメラルポートの自動割り当てに使われる。
多くのLinuxでは、codice_1でこのポート番号の範囲が32768から60999までと設定されている。また、FreeBSDではcodice_2（設定ファイル上はcodice_3）にて49152から65535の範囲が設定されている。
この範囲のポート番号を、独自のアプリケーションのサービス識別子として使用してはいけない。つまり、サーバーソケットの受信ポート番号として使用するべきではない。