pingで分かるのは、ICMPエコー要求に応答があったかどうかです。プロキシ一覧に記載されたHTTPやSOCKSのポートを開くことも、プロキシにサイトへの接続を依頼することもありません。

pingには応答するのにプロキシ接続を拒否する項目では、この違いが重要です。ICMPとプロキシのTCPサービスは、ホストのソフトウェアやアクセス規則の中で別々の経路を通ります。アドレスに到達できても、選んだポートにプロキシが待ち受けているとは限りません。

誤解しやすい3つの結果

  • pingは応答するがプロキシは失敗:サービスポート、プロトコル、認証、プロキシ応答を調べます。エコー応答はこれらをテストしていません。
  • pingは失敗するがプロキシは動く:ネットワークやホストがICMPを遮断し、プロキシ接続は許可する場合があります。エコー要求に返答がないからといって、成功したアプリのテスト結果を捨てないでください。
  • pingは速いがリクエストは遅い:エコーの往復には、プロキシのネゴシエーション、プロキシから接続先までの経路、TLS、接続先の応答時間が含まれません。

実際のクライアント操作を使う

HTTPエンドポイントには、制限を設けたHTTPリクエストを経由させます。HTTPSが必要なら、トンネル確立と接続先のTLS応答も確認してください。SOCKSではアプリが対応するSOCKSモードを使います。TCPポート確認は有用な中間情報ですが、これらのプロトコル手順には達していません。

既知の経路を調べる際、pingは補助的なネットワーク情報として残し、アプリの結果とは別に報告します。「IPがエコー要求に応答する」と「プロキシがこのHTTPSリクエストを完了した」は異なる主張です。目的の操作をテストしているのは後者だけです。

関連記事