1

私は、ユーザーがプロキシを介してブラウジングをリダイレクトできるようにするプロジェクトに取り組んでいます。システムは次のように機能します。ユーザーはこのプロキシをリモートPCで実行してから、ラップトップでも実行します。次に、ユーザーはラップトップのブラウザー設定を変更してlocalhost:8080を使用し、そのローカルプロキシを使用します。これにより、すべてのブラウザートラフィックがリモートPCで実行されているプロキシに転送されます。

ここで私はHTTPSに出くわしました。通常のHTTPリクエストを正常に機能させることができましたが、google.comをクリックするとすぐに、Firefoxはプロキシをスキップし、https://google.comに直接接続しました。

私のアイデアは、ブラウザのリクエスト、たとえばCONNECT host:443を監視し、Pythonsslモジュールを使用してそのソケットをラップすることでした。これにより、外部プロキシとターゲットサーバー間の安全な接続が得られます。ただし、sslが起動する前にwiresharkを実行してブラウザのリクエストがどのように表示されるかを確認すると、すでにそこにあります。つまり、ブラウザがポート443に直接接続しているように見えます。これが、ローカルプロキシを省略した理由です。

完全なブラウジング体験ができるように、HTTPSを処理できるようにしたいと思います。

正しい方向に進むためのヒントをいただければ幸いです。

4

1 に答える 1

0

さて、プロキシについてかなりの量の読書をした後、私は問題の私の理解が不十分であることに気づきました。

私と同じ場所にたどり着く可能性のある他の人にとっては、HTTP、HTTPS、およびSOCKSプロキシの間にかなり大きな違いがあることを知っておいてください。

HTTPプロキシは通常、HTTPヘッダーをすばやく調べて、パケット全体を転送する場所を決定します。これらは、ソケットの基本的な知識があれば、自分でコーディングするのは非常に簡単です。

一方、HTTPSプロキシは別の方法で機能する必要があります。クライアントに対してSSLマジック全体を実行できるか、変更せずにトラフィックを通過させようとする必要がありますが、後者のソリューションを選択した場合、ユーザーのIPがわかります。これは、コーディングに関してはもう少し厳しいものです。

SOCKSプロキシは、本当にクールな獣ですが、まったく異なります。それらはOSIモデルの第5層で動作し、正直なところ、どこから作成を開始するかについてはわかりません。それらはセキュリティと匿名性の両方を実現します。ただし、SSHを使用して自分のマシンでSOCKSプロキシを起動できる可能性があることは知っています。このhttp://www.revsys.com/writings/quicktips/ssh-tunnel.htmlを読んでください。そのリンクはまた、PythonスクリプトからSSHを使用して、はるかに便利にすることが可能であるはずだという考えを与えました。

これが私と同じ質問を持つ人に役立つことを願っています。幸運を!

于 2012-11-04T23:39:29.580 に答える