こんにちはスピカです。今回はポート番号について自分の勉強も兼ねてまとめていきたいと思います。
ポート番号とは
ネットワーク通信を行う際、私たちが使っている「IPアドレス」だけでは、どのサービスが通信しているのかを特定できません。そこで登場するのが「ポート番号」です。ポート番号は、特定のサービスやアプリケーションがどの通信路を使っているのかを識別するための番号です。
ポート番号の役割とは?
ポート番号は、ネットワークでデータをやり取りする際に、どのアプリケーションやサービスがその通信を処理するかを識別します。例えば、ウェブブラウザでインターネットを閲覧するとき、HTTP通信は「ポート80」を使って通信します。このように、ポート番号を使って通信先のサービスを指定し、適切なデータが送受信される仕組みです。
ポート番号は0から65535までの範囲があり、それぞれ異なる用途に使われます。ポート番号は主に次の3つのカテゴリに分けられます。
- ウェルノウンポート (Well-Known Ports) [0~1023]
サーバー側でよく使用されるポート番号で、特定のプロトコルやサービスに予約されています。
- 登録ポート (Registered Ports) [1024~49151]
特定のアプリケーションやプロトコルが使用するためにIANA(Internet Assigned Numbers Authority)に登録されています。
- 動的ポート (Dynamic or Private Ports) [49152~65535]
クライアントとサーバー間で動的に割り当てられるポート番号です。
よく使われるポート番号一覧
20, 21 | FTP | ファイル転送プロトコル(File Transfer Protocol) |
22 | SSH | セキュアシェル(Secure Shell) |
25 | SMTP | メール送信プロトコル(Simple Mail Transfer Protocol) |
53 | DNS | ドメイン名システム(Domain Name System) |
67, 68 | DHCP | ダイナミックホスト設定プロトコル(Dynamic Host Configuration Protocol) |
69 | TFTP | 軽量ファイル転送プロトコル(Trivial File Transfer Protocol) |
80 | HTTP | ウェブサービス(Hypertext Transfer Protocol) |
110 | POP3 | メール受信(Post Office Protocol version 3) |
119 | NNTP | ネットニュース転送プロトコル(Network News Transfer Protocol) |
123 | NTP | ネットワーク時間プロトコル(Network Time Protocol) |
143 | IMAP | メール受信(Internet Message Access Protocol) |
161, 162 | SNMP | シンプルネットワーク管理プロトコル(Simple Network Management Protocol) |
194 | IRC | インターネットリレーチャット(Internet Relay Chat) |
220 | IMAP3 | メール受信(Internet Message Access Protocol v3) |
443 | HTTPS | セキュアHTTP(Hypertext Transfer Protocol Secure) |
465 | SMTPS | セキュアSMTP(Secure SMTP) |
514 | Syslog | システムログ(System Logging Protocol) |
587 | SMTP (Submission) | メール送信(セキュア版) |
631 | IPP | インターネット印刷プロトコル(Internet Printing Protocol) |
636 | LDAPS | セキュアLDAP(Lightweight Directory Access Protocol over SSL) |
989, 990 | FTPS | セキュアFTP(FTP Secure) |
993 | IMAPS | セキュアIMAP(IMAP over SSL) |
995 | POP3S | セキュアPOP3(POP3 over SSL) |
1080 | SOCKS Proxy | プロキシ(SOCKS) |
1433 | MS SQL Server | Microsoft SQL Server |
1434 | MS SQL Monitor | Microsoft SQL Monitor |
1521 | Oracle DB | Oracleデータベース通信(Oracle Database) |
3389 | RDP | リモートデスクトッププロトコル(Remote Desktop Protocol) |
5432 | PostgreSQL | PostgreSQLデータベース通信 |
5900 | VNC | 仮想ネットワークコンピュータ(Virtual Network Computing) |
7000 | AFS | アトラスファイルシステム(Andrew File System) |
8000 | HTTP (代替) | ウェブサービス(代替ポート) |
8080 | HTTP Proxy | ウェブプロキシ(HTTP Proxy) |
8443 | HTTPS (代替) | セキュアHTTP(代替ポート) |
9000 | HTTP (代替) | ウェブサービス(代替ポート) |
9200 | Elasticsearch | Elasticsearch通信 |
11211 | Memcached | メモリキャッシュシステム(Memcached) |
27017 | MongoDB | MongoDBデータベース通信 |
4040 | Apache Spark UI | Apache Spark ユーザーインターフェース |
54321 | NetBIOS-SSN | ネットワーク基本入力出力システム(NetBIOS) |
その他のポート番号範囲
- 0~1023: ウェルノウンポート(Well-Known Ports) – システムレベルのサービス用、すべてのOSで特定のサービスが標準的に使用。
- 1024~49151: 登録ポート(Registered Ports) – アプリケーションで使用されるが、IANAに登録されているポート。
- 49152~65535: 動的ポート(Dynamic/Private Ports) – クライアントとサーバー間で動的に割り当てられるポート。
これらのポート番号は、ネットワーク通信でよく利用されるもので、特定のサービスやプロトコルに関連しています。ポート番号は通信のルーティングやセキュリティ設定にも重要な役割を果たします。
ポート番号のセキュリティ
ポート番号は便利ですが、不正アクセスや攻撃の対象になることもあります。特に、外部からインターネット越しに接続可能なサービス(例:SSHやHTTP)が開かれている場合、攻撃者が悪用するリスクがあります。そのため、セキュリティ対策として以下のことを心がけましょう。
- 不要なポートを閉じる
使用していないポートを閉じることで、攻撃のリスクを減らします。
- ファイアウォールの設定
外部からのアクセスを制限するためにファイアウォールを活用します。
- セキュアなプロトコルを使用
例えば、SSH(ポート22)やHTTPS(ポート443)を使用して、暗号化された通信を行い、安全性を確保しましょう。
まとめ
ポート番号は、インターネットやローカルネットワークで通信を行う際に非常に重要な役割を果たしています。特定のサービスやプロトコルが使用するポート番号を理解しておくことは、ネットワーク管理やセキュリティを適切に行うために役立ちます。自分が使用しているサービスがどのポートを使っているのかを知ることで、ネットワークの理解が深まりますよ!
コメント