小学生でも分かるIP抜き講座(4)
さて、IPを抜くための基本的な方法は「相手とコネクションを持つこと」です。しかし「コネクションを持つ」ということは「お互いのIPアドレスを教え合う」ということですから一方的なIP抜きはできません。だから「自分のIPは教えたくない」と思うならば間に第三者・・・自分に「ターゲットのIPアドレス」を教えてくれる第三者(ex. ウェブサーバー)・・・を挟めば良い。しかし例えばジオシティにウェブページを置いても「ジオシティサーバーへのアクセスログ」を教えてもらえる訳ではない。
アクセス解析CGIというのは「サーバー管理人ではない(サーバーのログを読めない)ウェブページ制作者yamadaがアクセス者のIPを抜くために行う行為」です。
| ウェブサーバー内のファイル | ←→ | 閲覧者 |
| ウェブサーバー内のアクセス解析CGI | ←→ | 閲覧者 |
具体的にはHTMLファイル内にこんな記述を加える訳ですね。
<img src="log.cgi" width=1 height=1>
なので例えば閲覧者が「画像は読み込まない」という設定なブラウザならば下のコネクションは生じません。というのが「半強制的」の「半」の意味。
このように「コネクション」とは時に相手の自覚なく張らすことができる代物です。「閲覧者」から見て、ブラウジングのためにウェブサーバーに接続することは必須ですがアクセス解析CGIを実行することは必須ではない。ここが「IP抜き」という世界の戦いです。例えば少し前に話題になった、ウェブページにおける生IP抜きの方法は以下です。
| サーバー | ←(http)→ | プロキシサーバー | ←→ | 閲覧者 |
| サーバー | ←(telnet or ftp)→ | 閲覧者 |
上のコネクション(つまりプロキシ経由のブラウジング)を張った人間に半強制的に下のtelnet(かftp)コネクションを張らせる。具体的にはフレームを使うんですがメカニズムそのものは上記です。いわゆる「串」とは「httpプロキシ」であって「串をさしている」状態でもtelnetやftpは生です(telnet串やftp串をさしていなければ)。だからサーバー管理人は閲覧者の生IPを抜くことができる、と。
最初に「IP抜きとは『スリ』でなく『詐欺』だ」と書いたのは例えばこういうことです。アクセス解析CGIを使った(ページ作成者による)IP抜きはその初歩と言えるかもしれません。
まとめておきます。
アクセス解析CGIというのはあくまで「サーバー管理人でない自分がhtml(等アクセス解析cgiを組み込める一部のファイル)を閲覧した人間のIPアドレスを抜くために設置するモノ」です。アクセス解析CGIがなくてもサーバー管理人は閲覧者のIPを抜けます。htmlに限らずcssやgif等サーバー上の全てのファイルに関するアクセスログを参照できます。それはネットにおけるコネクションの仕組み上当然です。
ウェブページを開く人間が「ページ管理人のアクセス解析に協力しよう」と思っているかどうかは疑問です。それでもウェブページを開いた人間(の大半)はimgタグで呼び出されるアクセス解析CGIを実行している。
誤解しないでほしいですが、「アクセス解析CGIとはIP抜きであり危険だ」という意味ではありません。「『実戦的なIP抜き』のメカニズムはアクセス解析CGIと発想的に同じだ」という意味です。
この話を僕なりに「実戦的」に応用した一つの例です。

TrackBack
この記事へのトラックバック