【チートシート】ポート番号一覧

Linux

はじめに

障害や切り分けのときに、さっと思い出せずに検索したり調べたりして面倒なときありますよね?
調べるほどではないけど、手元に置いておきたいポート番号一覧をまとめてみました。

ポート番号一覧

Well-knownポート

ポート番号TCP/UDP用途
20TCP,UDPftp データ転送ポート
21TCP,UDPftp コントロールポート
22TCPssh, scp, sftp
23TCPtelnet
25TCPsmtp
53TCP,UDPdns
80TCPhttp
88TCPkerberos
110TCPpop3
111TCP,UDPsunrpc
123TCP,UDPntp
137TCP,UDPNetBIOS Name Service
138TCP,UDPNetBIOS Datagram Service
139TCP,UDPNetBIOS Session Service
177TCPX Display Manager Control Protocol (XDMCP)
220TCPimap3
389TCPldap
443TCPhttps
445TCP,UDPMS ファイル共有/プリンタ共有
465TCPsmtps

ユーザポート

ポート番号TCP/UDP用途
1433TCPSQL Server
1434UDPSQL Server Browserサービス
1521TCPOracle
3306TCPMySQL、MariaDB
3389TCPリモートデスクトップ
5432TCPPostgreSQL
10050TCPZabbixエージェント
10051TCPZabbixサーバ

ポート範囲の定義

IANAのポート範囲定義

名称ポート範囲別名
システムポート0~1023Well-Knownポート
ユーザポート1024~49151登録済みポート
動的ポート49152~65535エフェメラルポート

システムポート(Well-Knownポート)

0~1023番

IANAに登録済みのものがほとんどですが、まれに登録されていないポート番号、あるいは同じポート番号が競合してしまっているポート番号があります。

ユーザポート(登録済みポート)

1024–49151番

Well-Knownポートと同じく、IANAに登録されています。

動的ポート(エフェメラルポート)

49152~65535番

IANAが定めた動的ポートの範囲です。この範囲はサーバの待ち受けポート番号として利用すべきでないとされています。
クライアント側のポート番号として利用されます。

Linuxの大半は32768~60999になっています。(以下のコマンドで確認できます)

# cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

あれ、IANAが定めた範囲より下のほうが範囲広いですね。

Windwosの場合はIANAで定めたとおり、49152~65535の範囲となっています。
Windowsの場合は以下のコマンドで確認できます。

>netsh int ipv4 show dynamicport tcp

プロトコル tcp の動的ポートの範囲
---------------------------------
開始ポート      : 49152
ポート数        : 16384

LinuxはIANAの定義に従ってないようです。
これは想像ですが、昔IANAで定義されていたのは0~1024だけだったらしいので、そのときにLinuxが32768としてから変わってないのかもしれないですね。

ここから少しややこしい話ですが、似たような意味で「エフェメラルポート」という呼び方があります。
これは「RFC 6056」に定義されていて、1024~65535が「エフェメラルポート」の範囲と定義されています。

「動的ポート」なのか「エフェメラルポート」なのか、どっちをどう使えばいいのかわかりづらいですが、どちらも同じ意味で使われていることが多そうです。

「RFC 6056」には「従来のエフェメラルポートの範囲」として、IANAが定めた「49152-65535」の範囲と記載がありますので、「RFC 6056」のほうが後からできたようです。

でも1024以降は各ベンダーがすでに使っていてIANAで登録済みのポート番号があるので、「RFC 6056」が「1024~65535」をエフェメラルポートと定義しているのは何か違和感ありますよね。
このあたりの背景はもう少し深堀が必要ですが、今回の記事はよく使うポート番号をまとめるのを目的としていますので、エフェメラルポートの深堀は次の機会にします。

参考文献

RFC 6335: Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry
https://www.rfc-editor.org/rfc/rfc6056.txt

コメント

タイトルとURLをコピーしました