プロキシにはローカルプロキシ、パブリックプロキシ(公共プロキシ)の2種類があります。
今回は、ネット上に転がっているFreeなproxyに話を絞ります。
ふと思いました。
「そういえば、クライアントからPROXYサーバーにどうやってwebサーバーのIPアドレスを教えているんだろ・・・」
考えられるやり方は・・・(私の予測です。)
(1)パケットにwebサーバーのIPアドレスを付与する。2つのIPアドレスを載せるため普通のパケットとは異なるものになってしまう。
(2)戻ってくる時は、proxy内のログ(ソースIPとwebIPの対情報を載せておく)を参照すれば可能かな~~
wiresharkで多段proxyネットワークTorのパケットを覗いてみました。
・・・・Torのパケットを見つけられませんでした。普通のパケットと特に違いがないため見分けが付きませんでした。
(難易度が高すぎました。)
・・・ということで、調べてみました。(私の持っている本には載っていなかったので)
Proxy利用時のhttps通信のパケット(IPヘッダ、TCPヘッダ)に関して
プロキシサーバーを解する場合に、宛先IPはどのように渡されるのでしか?
直接接続の時の HTTPの中身(リクエストURI)が Get /upload/ HTTP1.1
プロキシ経由の時のHTTPの中身(リクエストURI)が Get http://www.hidemyass.com/upload/ HTTP1.1
つまり、ペイロードの部分にwebサーバーの宛先ドメインを載せているわけですね!
クライアントからProxyにパケットが届いたら、proxyはパケットを再構築しなくてはならないですね。
プロキシ経由でWeb閲覧するクライアントパソコンは、yahooのIPアドレスを知る必要はありません。
名前解決するのはプロキシサーバなので、クライアントパソコンが名前解決できない状態であってもWeb閲覧できます。
こちらは、ローカルプロキシの場合の話だと思うので、今回の場合は適応しないですね。
しかし、クライアントに戻る時はどうするのでしょうか??
クライアントは http://www.hidemyass.com/upload/のように特定できません。
(2)戻ってくる時は、proxy内のログ(ソースIPとwebIPの対情報を載せておく)を参照すれば可能かな~~
これでしょうか?(これならwebサーバーからのパケットのペイロードのところに宛先を入れなくてもいい感じですかね。)
しかし、これでは匿名性が失われてしまいますよね・・・・
1段proxyの場合、権限のある人がサーバーのlogを調べれば簡単に見つかってしまいます。
アクセスした後にlogを削除しているなら、大丈夫そうですが・・・
おまけにproxyの管理者には丸見えなので、あまり良いやりかたではなさそうです。
どうやっているんでしょうか?
実際はこんな風にやっている・・・というものを教えてください!!
さらに、多段proxyの場合、次のproxyサーバーのたくさんのIPアドレスを載せる必要がありまよね?
2段以でも結構大変ではないでしょうか?
「ちなみに、多段proxyのtorは次のproxyの選択するためのサーバーが専用に用意されているようです。
普通のproxyにはそのようなサーバーはないので、この方法もないかなと思いますが・・・」
絵に描いてみましたわ。
なぜか横になっている・・・
クライアントからwebは、ペイロードのドメインをIPアドレスに変換し、パケットのヘッダ部分に書く必要がありますよね。(パケットを作りなおす。)
しかし、帰りはどのソケットに書き込めば良いのか分からないため、logを参照する必要が出てきます。
(2つのIPアドレスが対情報になって書かれているテーブルみたいな・・・)
mattnさんが仰っているのは、このソケット同士をproxy内部で繋げるということですか??

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 23:55 編集
2017/07/13 02:15
2017/07/13 02:56
2017/07/13 03:29
2017/07/13 03:31
2017/07/13 03:35
2017/07/13 03:40
2017/07/13 03:48
2017/07/13 03:55
2017/07/13 03:57
2017/07/13 04:00
2017/07/13 04:04
2017/07/13 04:14
2017/07/13 04:45