【チートシート】ポート番号一覧
はじめに
障害や切り分けのときに、さっと思い出せずに検索したり調べたりして面倒なときありますよね?
調べるほどではないけど、手元に置いておきたいポート番号一覧をまとめてみました。
ポート番号一覧
Well-knownポート
| ポート番号 | TCP/UDP | 用途 |
|---|---|---|
| 20 | TCP,UDP | ftp データ転送ポート |
| 21 | TCP,UDP | ftp コントロールポート |
| 22 | TCP | ssh, scp, sftp |
| 23 | TCP | telnet |
| 25 | TCP | smtp |
| 53 | TCP,UDP | dns |
| 80 | TCP | http |
| 88 | TCP | kerberos |
| 110 | TCP | pop3 |
| 111 | TCP,UDP | sunrpc |
| 123 | TCP,UDP | ntp |
| 137 | TCP,UDP | NetBIOS Name Service |
| 138 | TCP,UDP | NetBIOS Datagram Service |
| 139 | TCP,UDP | NetBIOS Session Service |
| 177 | TCP | X Display Manager Control Protocol (XDMCP) |
| 220 | TCP | imap3 |
| 389 | TCP | ldap |
| 443 | TCP | https |
| 445 | TCP,UDP | MS ファイル共有/プリンタ共有 |
| 465 | TCP | smtps |
ユーザポート
| ポート番号 | TCP/UDP | 用途 |
|---|---|---|
| 1433 | TCP | SQL Server |
| 1434 | UDP | SQL Server Browserサービス |
| 1521 | TCP | Oracle |
| 3306 | TCP | MySQL、MariaDB |
| 3389 | TCP | リモートデスクトップ |
| 5432 | TCP | PostgreSQL |
| 10050 | TCP | Zabbixエージェント |
| 10051 | TCP | Zabbixサーバ |
ポート範囲の定義
IANAのポート範囲定義
| 名称 | ポート範囲 | 別名 |
|---|---|---|
| システムポート | 0~1023 | Well-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」をエフェメラルポートと定義しているのは何か違和感ありますよね。
このあたりの背景はもう少し深堀が必要ですが、今回の記事はよく使うポート番号をまとめるのを目的としていますので、エフェメラルポートの深堀は次の機会にします。
参考文献
Discussion