ポートが開いているか確認する方法(ネットワークの外から) | Check Host

22、443、3389、25565 などの TCP ポートが開いていてインターネットから到達できるかをテストする方法と、開いていない場合のよくある原因の直し方。

サーバーを起動し、ファイアウォールでポートを開け、ルーターでポート転送も設定した — それなのに誰も接続できない。自分のパソコンからポートをテストしても役に立ちません。ルーター、ISP、その間のすべてのファイアウォールを素通りしてしまうからです。ポートが本当に開いているかを知るには、外部からテストする必要があります。

「開いている」とは本当はどういうことか

TCP ポートが開いているとは、そのポートで何かが待ち受けていて、インターネットからの接続が TCP ハンドシェイクを完了できる状態のことです。次の 3 つがすべて満たされている必要があります:

  1. プログラムがそのポートで、正しいインターフェースにバインドして待ち受けている(127.0.0.1 だけではない)。
  2. ホストのファイアウォールがそのポートへの着信接続を許可している。
  3. ホストの手前にあるすべてのネットワーク機器 — ルーター、NAT、クラウドのセキュリティグループ — が通信を転送または許可している。

多くの国から同時にテストする

ポートチェッカーは世界中のサーバーからホストとポートへの TCP ハンドシェイクを試み、それぞれの接続時間を報告します。ホスト名または IP とポートを入力してください。例:example.com と 443。

知っておきたい主なポート

ポートサービス
22SSH
25 / 587SMTP(メール)
80 / 443HTTP / HTTPS
3306 / 5432MySQL / PostgreSQL
3389Windows リモートデスクトップ
25565Minecraft Java サーバー

ポートが閉じて見える理由

テストできるのは TCP のみ

TCP チェックでは UDP ポート(53 番の DNS、WireGuard、多くのゲームサーバー)が開いているかは分かりません。UDP にはハンドシェイクがないため、応答しないポートとフィルタされたポートが同じに見えるからです。UDP サービスはそのプロトコルのクライアントでテストしてください。