ポート番号一覧と完全ガイド:ネットワーク通信の「出入口」を理解しよう

Web

インターネットでWebサイトを見たり、メールを送受信したりする時、実は裏側で「ポート番号」という数字が大活躍しているって知っていましたか?

ポート番号は、コンピュータ上で動いている複数のプログラムを区別するための番号です。マンションの部屋番号のようなイメージですね。同じ建物(IPアドレス)の中に、たくさんの部屋(ポート)があって、それぞれ違うサービスが動いているんです。

この記事では、ポート番号の基本から、よく使われる重要なポート番号の一覧、セキュリティの注意点まで、初心者の方にも分かりやすく解説していきます。


スポンサーリンク

ポート番号って何?基本を理解しよう

ポート番号は、コンピュータ内で動いている様々なプログラムやサービスを識別するための番号です。

マンションのたとえで理解しよう

分かりやすく例えると、こんな感じです。

  • IPアドレス = マンションの住所
  • ポート番号 = 部屋番号
  • サービス = 各部屋に住んでいる人

郵便を届ける時、マンションの住所だけでは誰に渡せばいいか分かりませんよね。部屋番号があって初めて、正確に届けられます。

同じように、コンピュータに届いたデータは、IPアドレスで「どのコンピュータに送るか」が決まり、ポート番号で「そのコンピュータの中のどのプログラムに渡すか」が決まるんです。

実際の例

あなたがWebブラウザでサイトを見る時:

  1. ブラウザが「192.168.1.100のポート80番」にアクセス
  2. サーバーのポート80番でWebサーバーソフトが待機
  3. Webサーバーがページを返す

このポート80番は、HTTP(Webサイト)専用の標準的なポート番号なんです。


ポート番号の範囲:3つのカテゴリー

ポート番号は、0番から65535番まであります。この範囲は、3つのカテゴリーに分類されています。

ウェルノウンポート(Well-Known Ports):0~1023番

システムポートとも呼ばれる、最も重要なポート番号です。

IANA(インターネット番号割り当て機関)が管理していて、主要なサービスに予約されています。HTTP、FTP、SSHなど、誰もが使う基本的なサービスがここに割り当てられているんです。

通常、管理者権限がないと使えません。

登録済みポート(Registered Ports):1024~49151番

特定のアプリケーションやサービスのために登録されているポート番号です。

企業が自社のソフトウェア用に登録したり、データベースサーバーなどが使ったりします。ウェルノウンポートほど厳格ではありませんが、一般的に認識されている番号が多いですね。

動的・プライベートポート(Dynamic/Private Ports):49152~65535番

エフェメラルポートとも呼ばれ、自由に使える範囲です。

クライアント側のプログラムが、通信の際に一時的に使う番号として、この範囲から自動的に選ばれます。


主要なポート番号一覧:覚えておきたい重要な番号

よく使われる代表的なポート番号を、カテゴリー別に紹介します。

Web関連

ポート20・21(FTP)

  • プロトコル:TCP
  • 用途:ファイル転送プロトコル
  • 説明:ファイルをアップロード・ダウンロードする時に使います。20番がデータ転送用、21番が制御用です。

ポート22(SSH)

  • プロトコル:TCP
  • 用途:セキュアシェル
  • 説明:サーバーに安全にリモートログインする時に使います。暗号化されているので、パスワードなどが盗まれにくいんです。

ポート23(Telnet)

  • プロトコル:TCP
  • 用途:遠隔ログイン
  • 説明:昔使われていたリモート接続。暗号化されていないので、現在はセキュリティ上推奨されません。

ポート25(SMTP)

  • プロトコル:TCP
  • 用途:メール送信
  • 説明:メールを送る時に使うプロトコル。メールサーバー同士の通信にも使われます。

ポート53(DNS)

  • プロトコル:TCP/UDP(主にUDP)
  • 用途:ドメイン名解決
  • 説明:「google.com」のような人間が読める名前を、IPアドレスに変換するサービス。インターネットの電話帳のような役割です。

ポート80(HTTP)

  • プロトコル:TCP
  • 用途:Web閲覧
  • 説明:普通のWebサイトを見る時に使います。最も有名なポート番号の1つですね。

ポート110(POP3)

  • プロトコル:TCP
  • 用途:メール受信
  • 説明:メールサーバーからメールをダウンロードする時に使います。

ポート143(IMAP)

  • プロトコル:TCP
  • 用途:メール受信
  • 説明:POP3より高機能なメール受信プロトコル。サーバー上でメールを管理できます。

ポート443(HTTPS)

  • プロトコル:TCP
  • 用途:暗号化Web閲覧
  • 説明:SSL/TLSで暗号化されたWebサイト。鍵マークが付いているサイトは、このポートを使っています。

ポート465(SMTPS)

  • プロトコル:TCP
  • 用途:暗号化メール送信
  • 説明:SSL/TLSで暗号化されたSMTP。安全にメールを送信できます。

ポート587(SMTP Submission)

  • プロトコル:TCP
  • 用途:メール送信(クライアント用)
  • 説明:メールクライアントからメールサーバーへの送信に推奨されるポート。STARTTLS暗号化に対応しています。

ポート993(IMAPS)

  • プロトコル:TCP
  • 用途:暗号化メール受信
  • 説明:SSL/TLSで暗号化されたIMAP。

ポート995(POP3S)

  • プロトコル:TCP
  • 用途:暗号化メール受信
  • 説明:SSL/TLSで暗号化されたPOP3。

データベース関連

ポート1433(Microsoft SQL Server)

  • プロトコル:TCP
  • 用途:データベース接続
  • 説明:Microsoftのデータベースサーバーへの接続に使います。

ポート3306(MySQL/MariaDB)

  • プロトコル:TCP
  • 用途:データベース接続
  • 説明:世界中で使われているオープンソースデータベース。WordPressなども使っています。

ポート5432(PostgreSQL)

  • プロトコル:TCP
  • 用途:データベース接続
  • 説明:高機能なオープンソースデータベース。

ポート27017(MongoDB)

  • プロトコル:TCP
  • 用途:NoSQLデータベース接続
  • 説明:JSONのようなドキュメント形式でデータを保存するデータベース。

ポート6379(Redis)

  • プロトコル:TCP
  • 用途:キャッシュ・データストア
  • 説明:高速なインメモリデータストア。キャッシュやセッション管理に使われます。

リモート接続・管理

ポート3389(RDP)

  • プロトコル:TCP
  • 用途:リモートデスクトップ
  • 説明:WindowsのリモートデスクトップProtocol。遠隔地からWindowsを操作できます。

ポート5900(VNC)

  • プロトコル:TCP
  • 用途:画面共有
  • 説明:コンピュータの画面を遠隔から見たり操作したりできます。

ゲーム・メディア関連

ポート25565(Minecraft)

  • プロトコル:TCP
  • 用途:ゲームサーバー
  • 説明:Minecraftのマルチプレイサーバーのデフォルトポート。

ポート27015(Steam/Source Engine)

  • プロトコル:TCP/UDP
  • 用途:ゲームサーバー
  • 説明:Counter-Strikeなど、Valve社のゲームサーバーで使われます。

プロキシ・キャッシュ

ポート3128(Squid)

  • プロトコル:TCP
  • 用途:プロキシサーバー
  • 説明:Webプロキシサーバーのデフォルトポート。

ポート8080(代替HTTP)

  • プロトコル:TCP
  • 用途:開発用Webサーバー、プロキシ
  • 説明:ポート80が使えない時の代替として、よく使われます。開発環境でもよく見かけますね。

その他の重要なポート

ポート123(NTP)

  • プロトコル:UDP
  • 用途:時刻同期
  • 説明:コンピュータの時計を正確に保つためのプロトコル。

ポート161・162(SNMP)

  • プロトコル:UDP
  • 用途:ネットワーク機器管理
  • 説明:ルーターやスイッチなどのネットワーク機器を監視・管理します。

ポート389(LDAP)

  • プロトコル:TCP/UDP
  • 用途:ディレクトリサービス
  • 説明:ユーザー情報などを一元管理するディレクトリサービス。企業のActive Directoryなどで使われます。

ポート636(LDAPS)

  • プロトコル:TCP
  • 用途:暗号化ディレクトリサービス
  • 説明:SSL/TLSで暗号化されたLDAP。

TCPとUDPの違い

ポート番号には、TCPUDPという2つのプロトコルがあります。

TCP(Transmission Control Protocol)

特徴:

  • 信頼性が高い
  • データが順番通りに届く
  • 届いたか確認する仕組みがある
  • 接続を確立してから通信する

用途:
Webサイト閲覧、メール送受信、ファイル転送など、「データが確実に届かないと困る」場合に使います。

たとえ:
書留郵便のようなもの。確実に届けるけど、少し時間がかかります。

UDP(User Datagram Protocol)

特徴:

  • 高速
  • 届いたか確認しない
  • データが失われる可能性がある
  • 接続確立の手順がない

用途:
動画配信、音声通話、オンラインゲームなど、「多少のデータ欠損より速度が大事」な場合に使います。

たとえ:
普通の郵便。速いけど、たまに届かないこともあります。

同じポート番号でも別物

ポート53番(DNS)のように、TCPとUDPの両方で使われるポート番号もあります。でも、TCPのポート53番とUDPのポート53番は別々のものとして扱われるんです。


ポート番号の確認方法

自分のコンピュータで、どのポート番号が使われているか確認できます。

Windowsの場合

コマンドプロンプトまたはPowerShellで次のコマンドを実行します。

netstat -ano

オプションの意味:

  • -a:すべての接続とリスニングポートを表示
  • -n:アドレスとポート番号を数値で表示
  • -o:各接続のプロセスIDを表示

特定のポートだけ調べたい場合:

netstat -ano | findstr :80

macOS/Linuxの場合

ターミナルで次のコマンドを実行します。

netstat -an

または、より詳細な情報を見るには:

lsof -i -P

特定のポートだけ調べたい場合:

lsof -i :80

ファイアウォールとポート番号

ファイアウォールは、不正なアクセスからコンピュータを守る防火壁です。ポート番号を使って、通信を許可したりブロックしたりします。

ポート開放とは?

「ポートを開ける」とは、特定のポート番号への外部からの接続を許可することです。

例えば、自宅でゲームサーバーを立てる場合、ルーターのファイアウォール設定で、そのゲームのポート番号への接続を許可する必要があります。

セキュリティの基本原則

必要最小限のポートだけ開く
使わないポートは閉じておきましょう。開いているポート番号が多いほど、攻撃者に狙われる可能性が高まります。

危険なポートは特に注意
Telnet(23番)やSMB(445番)など、攻撃に悪用されやすいポートは、必要がなければ閉じるべきです。

ポートスキャンに注意
攻撃者は、開いているポートを探すために「ポートスキャン」を行います。
不審なアクセスがないか、ログを定期的に確認しましょう。


ポート番号のカスタマイズ

標準のポート番号を変更することもできます。

なぜ変更するの?

セキュリティ向上
標準ポートを使っていると、自動スキャンで簡単に見つかってしまいます。別のポートに変更すれば、少し目立ちにくくなるんです。

ポート競合の回避
同じポートを使いたいプログラムが複数ある場合、どちらかを別のポートに変更する必要があります。

変更の例

SSHをポート22番から2222番に変更したり、Webサーバーをポート80番から8080番に変更したりできます。

ただし、標準ポート以外を使う場合、接続する側もポート番号を指定する必要があります。

ssh user@example.com -p 2222

ポート転送(ポートフォワーディング)

ポート転送は、あるポート番号に来た通信を、別の場所に転送する技術です。

使う場面

自宅サーバーの公開
自宅のルーター(グローバルIPアドレス)のポート80番に来たアクセスを、内部のWebサーバー(プライベートIPアドレス)に転送します。

リモート開発
開発用サーバーの特定のポートに、ローカルからアクセスできるようにします。

SSHトンネリング

SSH接続を使って、安全にポート転送ができます。

ssh -L 8080:localhost:80 user@remote-server

これで、自分のパソコンのlocalhost:8080にアクセスすると、リモートサーバーのポート80番に転送されます。


ポート番号に関するトラブルシューティング

よくある問題と解決方法を紹介します。

ポートが既に使用されている

エラーメッセージ:「Address already in use」「ポートは既に使用されています」

原因:
同じポート番号を使おうとしているプログラムが既に動いています。

解決法:

  1. そのプログラムを終了する
  2. 別のポート番号を使う
  3. どのプログラムが使っているか調べる(netstatやlsofコマンド)

ファイアウォールでブロックされている

サーバーは動いているのに接続できない場合、ファイアウォールが原因かもしれません。

確認方法:

  • Windowsファイアウォールの設定を確認
  • セキュリティソフトの設定を確認
  • ルーターのファイアウォール設定を確認

接続がタイムアウトする

指定したポート番号にサービスが起動していないか、ネットワーク経路上でブロックされている可能性があります。

確認方法:
telnetやncコマンドで接続テストができます。

telnet example.com 80

接続できれば、そのポートは開いています。


ポート番号の標準化と管理

ポート番号は、誰がどのように決めているのでしょうか。

IANA(Internet Assigned Numbers Authority)

インターネットの番号を管理する組織が、ポート番号を割り当てています。

ウェルノウンポート(0-1023)と登録済みポート(1024-49151)は、IANAに申請して登録できます。

RFC(Request for Comments)

多くの標準的なプロトコルとポート番号は、RFCという技術文書で定義されています。

例えば、HTTP(ポート80)はRFC 2616、HTTPS(ポート443)はRFC 2818で規定されているんです。


まとめ:ポート番号はネットワーク通信の要

ポート番号は、コンピュータ内のサービスを識別するための重要な番号です。

この記事のポイント:

  • ポート番号は0~65535番まであり、3つのカテゴリーに分類される
  • ウェルノウンポート(0-1023)には主要サービスが割り当てられている
  • HTTP(80)、HTTPS(443)、SSH(22)、FTP(21)などが代表的
  • TCPとUDPという2つのプロトコルがある
  • データベースやゲームなど、様々なサービスが独自のポート番号を使う
  • netstatやlsofコマンドで使用中のポートを確認できる
  • ファイアウォールでポート番号を制御してセキュリティを保つ
  • 必要最小限のポートだけ開き、不要なポートは閉じるのが原則
  • ポート転送で柔軟なネットワーク構成ができる

ネットワークのトラブルシューティングやサーバー構築の際、ポート番号の知識は必ず役に立ちます。この記事で紹介した主要なポート番号を覚えておけば、IT関連の仕事でも大いに活用できますよ!

コメント

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