私は、Windows 2003 サーバーを実行している企業ネットワークのファイアウォール内にあるカスタム アプリケーションのトラブルシューティングを試みています。私たちのアプリケーションは、PHP/cURL を使用して、パブリックにホストされている Web サイトに XML データを送信します。デフォルトでは、このサーバーでブラウザーを使用することはできませんが、アプリケーションの以前のバージョンでは、ポート 80 で送信できました (ブラウザーがロックされているにもかかわらず)。
特定の宛先にポート80またはポート443経由で到達できるかどうかを判断する簡単な方法が必要です(例:http://www.foo.com/other/import-xml?md87t9=g456342135kj5f7)
顧客と協力してファイアウォール/Web フィルタリングの設定を変更する前に、これを確認したいと思います。
答え1
そのアドレスのシステムがそのポートでサービスを実行し、そのシステムでは着信トラフィックがブロックされていないことが必要です。これが事実であれば、何らかの方法でそのポートでサービス リッスンと通信を試みる必要があります。これが、両側の正確なファイアウォール構成を知らなくても確実に確認できる唯一の 100% 信頼できる方法です。
ただし、ブラウザを使用できないという問題だけがあり、Windows Server 2003 からテストしようとしている場合は、telnet を使用して手動で HTTP 要求を発行できます。コマンド プロンプトでこれを試してください。
telnet yourserver.com 80
次に、ENTER キーを 1 回押して、正確に入力します (入力した内容は表示されません)。
GET / HTTP/1.1
次にENTERを押します。
Web サーバーがそのポートでリッスンしていて、アクセス可能な場合は、大量の HTML が返されます。アクセスできない場合は、接続がタイムアウトになります。
答え2
Firebind は、Java アプレット クライアントを使用して、マシンと Firebind サーバー間の任意の TCP または UDP ポートを介してパケットを送信するクラウドベースのネットワーク パス検証ツールです。これにより、送信方向 (プライベート ネットワークからインターネット) のテストが可能になります。
テストには、65535 個の TCP または UDP ポートのいずれか (またはすべて) を選択できます。Firebind は、Java アプレット クライアントからのテスト トラフィックを「リッスン」するために、サーバー側のポートを動的に開きます。テスト パケットがサーバーにそのまま到達し、変更されずにクライアントに正常にエコーバックされた場合、ポート テストは成功します。特定のポートをブロックするファイアウォールが存在する場合、Firebind は失敗を報告します。TCP プロトコルの場合、ブロックされた方法 (TCP DROP/タイムアウト、TCP RESET/拒否など) も表示されます。