2017-06-02 13 views
0

クライアントにHTTP CONNECT要求のサポートを追加していて、トンネルを適切に処理できないようです。クライアント側でHTTP CONNECTトンネルを処理する方法は?

ステータスコード200のCONNECT要求をプロキシに送信できます。このRFCは、エンドサーバでトンネルが形成されたことを通知します。

このトンネルはソケットの観点からどのように使用しますか? クライアント側では、最初にオープンしたソケットがプロキシから200応答を受け取ります。レスポンスを確認したら、そのソケットにもっと多くのデータを送信するだけですか? 私はこのアプローチを試して、クライアントがハングするだけです。データは最終的なサーバーに到達していないようです。どのようにトンネルが作成された後にこのソケットを使用して通常のHTTP(S)を行うのですか?

答えて

0

応答を確認したら、そのソケットにさらにデータを送信するだけですか?

はい。 HTTPSを話している場合は、TLSハンドシェイクを開始し、適切に構成されたHTTP要求を送信し、TLS経由で応答を読み取ります。

このアプローチを試してみましたが、クライアントがハングアップしています。データは最終的なサーバーに到達していないようです。

あなたのハンドシェイクが間違っているか、HTTPが不正な形式になっています。

+0

私はまだpcapファイルを調べています。私がいったん完了したら正しい解決策を知らせるでしょう。 – whoami

+0

「正しい解決策」はコードを修正することです。投稿していないので、他にどのような答えが可能ですか? – EJP

+0

うん。私は今それを修正し、ヘッダーと要求行を送った順番に問題がありました。 HTTPはある意味では不正な形式だったので、私は正しい答えとしてあなたの印を付けることができると思う – whoami

関連する問題