SNSCDN ネットワークチェック結果の読み方:PASS、FAIL、SKIP
SNSCDN の netcheck は、1 回の診断で最初に異常が発生した段階を確認するためのツールです。速度測定ツールではなく、サブスクリプションやクライアント設定、あらゆる地域からの接続可否を検証するものでもありません。
公開ツールリポジトリをダウンロードまたはコピーしたら、リポジトリのルートディレクトリを開きます。macOS または Linux では、次のコマンドを実行します。
bash bin/netcheck.sh example.com 443
Windows PowerShell では、次のコマンドを実行します。
.\bin\netcheck.ps1 example.com 443
example.com は、確認する公開ホスト名に置き換えてください。サブスクリプション URL、トークンを含む URL、管理画面のアドレス、プライベート IP アドレス、その他の非公開の接続先は使用しないでください。
これらのスクリプトは診断結果を SNSCDN にアップロードしません。ただし、指定した接続先に対して通常の DNS 問い合わせと接続を行うため、DNS リゾルバーや接続先のサーバーには通常の問い合わせ・接続メタデータが記録される場合があります。
実行したバージョンを確認する
| 動作 | macOS / Linux | Windows PowerShell |
|---|---|---|
| DNS | システムで利用可能な名前解決コマンドを使用 | .NET の DNS 名前解決を使用 |
| TCP | nc がインストールされている場合に実行 | 約 5 秒のタイムアウトで実行 |
| TLS | ポートが 443 で OpenSSL がインストールされている場合のみ、独立した行を表示 | 独立した TLS の行は表示しない |
| HTTP | curl が通常のリクエストを送信し、2xx/3xx を PASS と判定 | Invoke-WebRequest が HEAD リクエストを送信 |
| SKIP | 必要なコマンドがない場合や TLS の実行条件を満たさない場合に表示されることがある | 現在は SKIP を表示しない |
一部のサービスは HEAD リクエストを受け付けません。そのため、ブラウザーから GET で開けるページでも、Windows 版では 403、405、または一般的な HTTP エラーが表示される場合があります。この違いだけで、サイトが停止しているとは判断できません。
出力を上から順に読む
DNS lookup failed
今回の名前解決では、ホスト名に対応する IP アドレスを取得できませんでした。まずホスト名の綴りを確認し、その他の条件を変えずに Wi-Fi とモバイルデータ通信で比較してください。片方のネットワークだけで失敗する場合は、そのネットワークまたは DNS の経路を優先して確認します。複数のネットワークで失敗する場合は、ドメインの公開 DNS の状態も確認します。この行だけでは、サーバーが停止しているとは断定できません。
TCP port ... is unreachable
端末から指定ポートへ、制限時間内に接続できませんでした。原因として、端末のファイアウォール、接続中のネットワーク、経路、ポートのポリシー、接続先サービスなどが考えられます。その結果として後続の HTTP チェックも失敗することがあるため、各エラーを別々の問題と考えるのではなく、最初に表示された TCP エラーから確認してください。
TLS certificate received
これは、Bash スクリプトが TLS 接続を行い、OpenSSL で解析できる証明書情報を受信したことだけを示します。このチェックでは、証明書チェーンの信頼性、ホスト名との一致、有効期間、ブラウザーとの互換性を完全には検証しません。そのため、この行を「証明書が完全に有効」という意味には解釈できません。
ブラウザーに証明書の警告が残る場合は、端末の時刻、ホスト名、証明書の有効期間、信頼チェーンを別途確認してください。警告を無視したり、証明書の検証を無効にしたりしないでください。
TLS handshake or certificate check failed
Bash スクリプトが解析可能な証明書情報を取得できませんでした。ホスト名、中継機器、TLS 設定、接続先サービスのいずれかが関係している可能性があります。この行だけで、証明書の期限切れとは判断できません。Windows 版には独立した TLS の行がないため、関連する例外は通常 HTTP request failed: ... に表示されます。
明確な HTTP 4xx または HTTP 5xx
ツールが明確な HTTP ステータスコードを受信した場合に限り、HTTP レスポンスを受け取ったことを確認できます。4xx は通常、リクエストが拒否されたか、接続先の要件を満たしていないことを示します。5xx は、サービス側が正常に処理できなかったことを示します。どちらも「ネットワークにまったく接続できない」という意味ではありません。
Bash 版は 2xx/3xx を PASS、それ以外の明確なステータスコードを FAIL と表示します。リダイレクト先を自動的にはたどらないため、[PASS] HTTP 301 または 302 はリダイレクトレスポンスを受信したことだけを示し、移動先が利用できることを証明しません。Windows 版は HEAD を使用し、成功以外のレスポンスを例外の概要に含める場合があります。
一般的な HTTP request failed
これは、リクエストが HTTP サービスに到達した証拠ではありません。DNS、TCP、TLS、タイムアウト、接続の中断、HEAD リクエストの拒否、成功以外のステータスのいずれでも、一般的な失敗が発生する可能性があります。PowerShell 版では同じ行にある例外の概要を確認してください。Bash 版では curl のエラー概要が表示されないため、上にある DNS、TCP、TLS のうち最初に異常が出た項目まで戻って確認します。
[SKIP] と最後の [PASS]
[SKIP] は、そのチェックを実行しなかったことを示します。チェックに合格したという意味ではありません。Bash スクリプトが集計するのは [FAIL] だけなので、上に 1 つ以上の [SKIP] があっても、最後に [PASS] No blocking problem detected と表示される場合があります。最後の概要だけで判断せず、すべての行を確認してください。現在の Windows 版には SKIP の出力はありません。
実行可能なすべての項目が PASS でも、今回の診断で接続を妨げる問題が見つからなかったことだけを示します。帯域幅を測定するものではなく、クライアント設定を検証するものでもありません。また、別のネットワーク、地域、経路、時間帯でも安定していることを証明しません。より広い範囲の確認については、接続トラブルとサポートガイドをご覧ください。
プライバシーに配慮したサポート報告を作成する
次の情報だけを記載することを推奨します。
- 端末の OS とバージョン
- 自宅の Wi-Fi、モバイルデータ通信などのネットワーク種別
- テストした日付、時刻、タイムゾーン
- 使用した公開ホスト名とポート
- 各項目の
[PASS]、[FAIL]と、Bash 版で表示された場合は[SKIP] - 同じ時点でブラウザーまたはクライアントに表示された短いエラーメッセージ
共有する前に、名前解決で得られた IP アドレス、完全な URL、証明書の詳細、アカウントのメールアドレス、注文情報、サブスクリプション URL、QR コード、アクセストークン、その他の認証情報を削除してください。PowerShell の例外概要にも URL や内部情報が含まれる場合があるため、事前に確認して伏せてください。完全なログを公開 Issue、フォーラム、グループチャットに貼り付けないでください。アカウント、注文、サブスクリプションに関する質問は、ログイン後のサポートチケットから送信してください。