ポート番号とは下記に示す
- TCPプロトコル(セッションの確立)
- UDPプロトコル(速度や利便性の確立)
といった各プロトコルで使われる識別子のことを指します。
プロトコルで使われる識別子...もう少し分かりやすくできれば図解で説明してくれ
ポート番号について、身近な例で分かりやすく図解で解説します。
前回記事:デフォルトゲートウェイとARPの不思議なつながりとは?分かりやすく図解で解説
-
デフォルトゲートウェイとARPの不思議なつながりとは?分かりやすく図解で解説
ネットワークにおいて、 デフォルトゲートウェイは窓口 ARPは端末の住所を取得する技術 といった重要な役割を担っています ...
続きを見る
ポート番号とは?初心者も理解できる実用的な使い方を図解でポート番号は電話番号や郵便番号のようなもの
ポート番号を身近なモノで例えると
- 各所へ通信するために割当てられた電話番号や郵便番号
といった想像が近しいです。
ポート番号って電話番号みたいなものなの?
ポート番号の役割がなぜ電話番号や郵便番号に例えられるのか
ポート番号の役割は、
- 特定のアドレス(住所)を識別し
- 許可された経路でデータを送受信する
といった仕組みでネットワーク上で動作します。
ポート番号の役割を端的に言えば、
- 番号を指定することで
- 任意のアプリケーションへアクセスできる
という動作です。
これは、
- 番号を指定することで
- 任意の相手へ連絡する
といった、まさに電話番号の操作イメージと近しいんですよね。
たしかに電話だと、任意の相手番号にかけるよな
ということは、ポート番号って決め打ちされてるってこと?
ポート番号は大きく3つに区別されている
ポート番号は、TCP/UDPヘッダーの最初の16ビット(2オクテット)の情報です。
16ビットは0〜65535までの番号を表し、以下3つのポート番号に分類されています。
- Well-known(ウェルノウンポート番号)
- Registered(登録済みポート番号)
- Dynamic/Private(ダイナミック/プライベートポート番号)
3つの範囲に分類されたポート番号は、それぞれの用途が割当てられています。
範囲 | ポート番号の範囲 | 用途 |
---|---|---|
1. ウェルノウンポート番号 | 0-1023 | インターネットプロトコルで使用される主なアプリケーションの標準的なポート番号 |
2. 登録済みポート番号 | 1024-49151 | 既存のアプリケーションが補助的に使っているポート番号 |
3. ダイナミック/プライベートポート番号 | 49152-65535 | 個人や企業が独自のアプリ・サービスのために自由に使うことができるポート番号 |
ポート番号と言っても、範囲で用途分かれてるんだな。でも番号の範囲が広すぎない?
大きく3つに構成が分かれているポート番号ですが、もちろん番号ごとに通信できるプロトコルサービスも決まっています。
以下に一覧を示します。
ウェルノウンポートのポート番号で利用されるプロコトル・サービス
ウェルノウンポートのポート番号で利用されるプロトコルサービスは以下のとおりです。
登録済みポート番号のポート番号で利用されるプロコトル・サービス
登録済みポートのポート番号で利用されるプロトコルサービスは以下のとおりです。
ダイナミック/プライベートポート番号にて利用されるプロコトル・サービス
ダイナミック/プライベートポート番号の場合、個人や企業で任意で使われる番号です。
そのため決まったプロコトル・サービスはありません。
ポート番号の範囲 | プロトコル | サービス |
---|---|---|
49152-65535 | TCP/UDP | プライベート/ダイナミックポート(アプリケーション固有のポート) |
ポート番号とは?初心者も理解できる実用的な使い方を図解でポート番号の使い方とよく使われるポート番号
ポート番号の使い方やよく使われるポート番号について説明します。
ポート番号の使い方
ポート番号443を使ってHTTP通信の疎通確認を行ってみましょう。
- Web検索窓にhttps://google.com:443を入力してEnter。
- GoogleのTOPページが開けば疎通確認ができています。
成功すれば以下のようにGoogleページが開くはず。
通信エラーが開くのであれば、一度インターネット通信状況を確認してから再度ポート番号の実行をトライしてみてください。
ポート番号を入力してアプリにアクセスすることは稀
人間が直接ポート番号を入力して通信することはまれです。
理由は、アプリケーションがポート番号を自動的に取得・通信しているから。
ネットワーク管理者やシステム管理者でなければ、ポート番号を無理に意識して操作することはないでしょう。
じゃあポート番号って要らないじゃん
ポート番号は必要ないのか
ポート番号は必要ないのか、結論からいうとNO!ポート番号は絶対必要です。
ポート番号がなければ、複数のアプリケーションが同じネットワーク内を共有する場合、
- どのアプリケーションが
- どの通信を受信すべきか
といったことが識別できず、混乱が生じる可能性があるためです。
またポート番号は、ファイアウォールやルーターなどのネットワークセキュリティデバイスによって、不正アクセスや攻撃を検出・ブロックするためにも使用されます。
ポート番号はネットワーク内のアプリをスムーズに起動・実行させるために必要なものなんだな
よく使われるポート番号について
よく使われるポート番号は以下のとおりです。
ポート番号 | 用途 |
---|---|
80 | Webサーバーのデフォルトのポート番号(HTTP) |
443 | HTTPS(Webサーバー) |
25 | SMTP(電子メール送信) |
110 | POP3(電子メール受信) |
143 | IMAP(電子メール受信) |
22 | SSH(リモートマシンにアクセス) |
21 | FTP(ファイル転送) |
53 | DNS(ドメイン名解決) |
3389 | RDP(リモートデスクトップ接続) |
仕事で使っているアプリケーションに関連するポート番号が、やはり一番よく使われていますね。
ポート番号とは?初心者も理解できる実用的な使い方を図解でポート番号を使った通信の例
ポート番号は、実際には以下のようなデータイメージです。
上図では、HTTP通信でWebブラウザを表示するデータ内訳が分かります。
このときの通信状態は以下のとおりです。
- TCPポート番号80を使用してHTTPプロトコルを通じ
- Webサーバーにリクエストを送信
- Webサーバーは、TCPポート番号80を介してHTTPレスポンスを返す
ポート番号を通じて応答をしている、といったイメージですね。
ポート番号とは?初心者も理解できる実用的な使い方を図解でポート番号のセキュリティについて
ただし、攻撃されやすいポート番号もあります。一覧にまとめました。
ポート番号 | プロトコル | 用途 | 危険度 |
---|---|---|---|
21 | FTP | ファイル転送 | 高 |
22 | SSH | セキュアシェル | 高 |
23 | Telnet | リモートログイン | 高 |
25 | SMTP | メール送信 | 中 |
80 | HTTP | Webページ閲覧 | 中 |
139, 445 | SMB | ファイル共有 | 高 |
FTPやリモートログイン、メール送信やHTTP通信などごくごく一般的に使われるアプリケーションですね。
上記アプリケーションは特に外部とやりとりを行う都合上、狙われやすくデータ抜取りや情報漏えいに繋がるリスクがあります。
データをアップロードするアプリケーションが狙われやすくなってます。
ポート番号のセキュリティ対策ってあるの?
とはいってもIANAといった団体で管理されているポート番号のため、対象がウェルノウンポートの場合は任意で番号変更できません。
そこで、具体的なセキュリティ対策をポート番号ごとにまとめました。
ポート番号 | プロトコル | 用途 | 具体的なセキュリティ対策 |
---|---|---|---|
21 | FTP | ファイル転送 | 暗号化された通信を行う。IPアドレスを制限する。 |
22 | SSH | セキュアシェル | 暗号化された通信を行う。パスワードやアクセス権限を強化する。 |
23 | Telnet | リモートログイン | 暗号化された通信を行う。パスワードやアクセス権限を強化する。IPアドレスを制限する。 |
25 | SMTP | メール送信 | 送信元アドレスの認証や送信先アドレスの検証を実施する。 |
80 | HTTP | Webページ閲覧 | Webサーバーのセキュリティ設定を強化する。Webページの改ざんやディレクトリトラバーサル攻撃を防止する。 |
139, 445 | SMB | ファイル共有 | 暗号化された通信を行う。アクセス権限を制限する。ファイアウォールを設置して、不正なアクセスをブロックする。 |
以上のことからFTPやメールアプリなどは、
- かんたんにアクセス状態できる状態にしない
- かならずデータ通信は暗号化しておく
といった対策を講じておくと良いでしょう。
ポート番号とは?初心者も理解できる実用的な使い方を図解でまとめ. ポート番号の基本を理解しよう
ポート番号は、プログラムが通信するための扉として割当てられる番号といった比較的重要なポジションを持っていることが分かりましたね。
以下に本件の概要をまとめました。
特徴 | 説明 |
---|---|
ポート番号 | ネットワーク通信で使用される通信の窓口のこと |
異なるプログラムは異なるポート番号を使用 | ポート番号は、プログラムが通信する際に使用する扉の番号 |
範囲内 | ポート番号は、0から65535までの範囲内で割り当てられる |
予約済みポート | 一部のポートは、予約済みで特定のプロトコルで使用される |
使用方法 | 特定のプログラムが使用するポート番号を調べたり、ネットワーク上でポート番号が開いているかを確認する |
確認方法 | 「netstat」コマンドやポートスキャンツールを使用する |
セキュリティ対策 | ポート番号を使った攻撃手法が存在し、適切なセキュリティ対策が必要 |
ポート番号を使った攻撃手法も多く存在するため、各自で適切なセキュリティ対策を実施していきましょう