開放ポートチェッカー(TCPポート1つ)
公開ホストの1つのTCPポートがインターネットからの接続を受け付けるか(開放、閉鎖、フィルタリング)を確認します。1回につき1ポートで、大量スキャンは行いません。
ポートチェッカーとは?
このポートチェッカーは、公開ホストまたはIP上の特定のTCPポートが、インターネットからの接続を受け付けるかを調べます。意図的にスキャナーではなく、1回のチェックでテストするのはちょうど1つのhost:portの組だけです。ポート開放、ファイアウォールのルール、サービスの待ち受けの確認に必要なのは、まさにこれです。
ポートチェッカーの使い方
- 自分が所有している、またはテストを許可されている公開ホスト名またはIPアドレスを入力します。
- ポート番号を入力するか、一般的なポート(22、80、443、3306、3389など)のどれかをクリックします。
- Check portを押します。
- 結果を確認します。Open(TCP接続を受け付ける)、Closed or unreachable、または5秒以内に応答なし。あわせてテストしたIPと所要時間も表示されます。最近のチェックは下に一覧で残ります。
ポートチェッカーを使うべき場面
ルーターのポートフォワーディングの設定後、クラウドのセキュリティグループでポートを開けた後、ゲーム、SSH、データベース、メールサーバーを起動した後に、ネットワークの外から到達できるか確認するために使います。範囲のスキャン、UDPポート(WireGuard、DNS、UDPを使うゲームサーバー)のテスト、プライベートやローカルアドレスへの接続、Cloudflareが外向き接続をブロックしているポート25のテストはできません。Cloudflareが所有するIP範囲にあるターゲットもテストできません。所有している、またはテストの許可を得ているシステムだけをテストしてください。
ポートチェッカーの仕組み
チェックはAlgoKitのCloudflare Pages Function(/api/port-check)内で実行されます。ホストはDNS over HTTPSで解決され、プライベート、ループバック、リンクローカル、CGNAT、予約済みのアドレスが含まれていれば拒否されます。その後、関数は検証済みのIP(名前ではないため、その間にDNSが変わることはありません)に対し、Cloudflareの connect() TCPソケットAPIで接続します。TCPハンドシェイクが完了すればポートは開放と報告され、ソケットはデータを送らずにすぐ閉じられます。拒否または失敗した接続は「closed or unreachable」、5秒以内に応答がなければタイムアウトとして報告され、これは通常ファイアウォールがパケットを黙って破棄していることを意味します。リクエストはクライアントIPごとにレート制限されます。
一般的な使用例
- SSH鍵を設定する前に、VPSのポート22に到達できることを確認する。
- Minecraft(25565)やPlexサーバー用の、自宅ルーターのポートフォワードをテストする。
- 3306や5432などのデータベースポートがインターネットに公開されて「いない」ことを確認する。
- 新しく追加したクラウドファイアウォールの443のルールが実際に有効になったか確認する。
セキュリティ注意事項
ホストとポートはAlgoKitのサーバーに送信され、サーバーはそこに1回TCP接続を行います。テストする権限のあるホストだけをテストしてください。
よくある質問
なぜフルポートスキャナーではないのですか。
他人のマシンの多数のポートをスキャンするのは迷惑行為であり、違法な場合も多いためです。自分で選んだ1つのポートをテストすれば、「自分のサービスに到達できるか」という正当なニーズは満たせます。
closedとtimeoutの違いは何ですか。
closedは、接続が拒否された、またはすぐに失敗したことを意味します(待ち受けているサービスがない、またはネットワークに拒否された)。timeoutは、5秒以内に何も応答がなかったことを意味し、通常はファイアウォールがパケットを破棄していることを示します。
UDPポートも確認できますか。
いいえ。UDPにはハンドシェイクがないため、サービスのプロトコルで通信しない限り、UDPポートが開いていることを確実に確認することはできません。
192.168.x.xやルーターの管理画面をテストできないのはなぜですか。
チェックはネットワークの内側ではなくインターネット上で実行され、悪用を防ぐためプライベートアドレスはブロックされています。代わりに、グローバルIPをテストしてください。