« アクセス解析(露骨に拒否) | トップページ | アクセス解析(生IP)JavaApplet編 »

2006年9月21日 (木)

アクセス解析(生IP)telnet編

アクセス解析。プロクシとか生IPとかそういうところが知りたくなるもので、

プロクシって何?って事は調べていただくとして、アクセスがプロクシ経由かどうか。いろいろな判断方法があると思います、解析を見ていてホスト名にIPアドレスの羅列があったり複雑なホスト名の場合は多分プロクシ経由じゃない。IPアドレスから名前が取り出せればプロクシだとしても出所がはっきりしているプロクシでしょう。他にはサイトアクセスしたときにプロクシ特有の環境変数を取り出せる事があるので、そういう環境変数をチェックする。

http://www.ne.jp/asahi/setuna/multi-factory/index/env.html
http://www.remus.dti.ne.jp/~shenron/secure/cgi_script/
http://blog.arasitaisaku.com/?cid=21833
などに書いてあります。

プロクシはプロバイダが用意していたり、プロクシの杜でさがして見てください。で、診断くんhttp://www.futomi.com/cgi-bin/env_var/your_env.cgiなど環境変数をチェックできるサイトいろいろあるのでそこへアクセスしてみてください。でもそれらの環境変数を吐かないプロクシも結構あるので、ホスト名や逆引きの可否なども含めて判断する必要があります。それと、Operaでのアクセスはこういう場合はたちの悪いことにプロクシと見間違えるような環境変数を吐くので要注意です(OperaはデフォルトでIEやMozillaに化ける機能を提供しているので環境変数だけ見てIEやMozillaのアクセスでプロクシ経由だと思っていたら、Operaからのアクセスで生IPだということもあります)

で、ADSLやら光とかいうご時世にサイトアクセスの高速化やネット資源の有効利用を考えてプロクシを使う人なんて居ないでしょうから、どんな理由があったとしても自分のアクセスを隠したいという目的での利用がほとんどだと思います。生IPで掲示板やブログなどの荒らし行為などをするならプロバイダがわかるのでそのプロバイダに連絡できますが、プロクシの杜で紹介されているような公開プロクシの場合は連絡してプロクシのログを取得など一苦労でしょう。そういうときに自力で生IPを抜こうということで、いろんなサイトで紹介されている方法としては

上にも挙げましたが、---CGI in Secure ---に書かれているようにJavaAppletやtelnet,WindowsMediaPlayerなどhttp以外のプロトコル(IEならツール-インターネットオプション-接続-設定-プロキシを設定するのチェックをして詳細設定で自動でプロキシが設定されるプロトコル以外)を使うことでプロキシを通さずにアクセスさせるという方法になるようです。とりあえず今回は手軽そうなtelnetを使ってやってみました。もちろんtelnet.exeが立ち上がるので何かいつもと違うというのは見ている人にはわかります。しかも私の環境なのですがNortonInternetSecurityを使っているとtelnetで通信する前に警告が出てしまいます。 ブラウザがFirefoxならtelnet立ち上げる前に外部プログラムですが?と警告が出ますので、telnetでIP抜く時はアクセスログなどでUAやリファラーの状況を見た上でやった方が良いと思います。もし警告が事前に出そうな環境に思えるなら、JavaAppletを使ったやり方のほうが良いかもしれません。少し読み込みが長くなり違和感あるのと、Javaを無効にしているかもしれませんが、警告画面の心配はしなくて済むように思います。

PerlのソースコードはUse telnet[telnet 雑技室]にその名もズバリ「telnetプロトコルによるIP抜き」という項目内にリンクがあります。ソースコードをそのままコピーしてPerlのパスとホスト名とファイル名を変えてtok2サーバーで試したところ、全然ダメ。その理由はポートが閉じていたというお粗末なものでした。ポートを決め打ちしてなんどか挑戦したところ、大きめのポート番号を使えば、ソース自体に何の手を加えることもなく生IPが表示されました。

参考までにJavaAppletでやる方法はhttp://tuka.s12.xrea.com/index.xcg?p=CGI#p12とかhttp://www.nurs.or.jp/~sug/homep/spam/spam4.htmにあります。

自由にポートを空けられてアクセスログを見れたり常駐でそのポートを見張るソフトを入れられるなら、imgタグやframeタグなど強制的に読もうとするタグのsrc="telnet://ホスト名:ポート番号"などとするが手っ取り早いように思います(http://2.csx.jp/~stwalker/proxy.htmの真ん中辺り参照)。

で、しばらくこのコードを眺めていたところ、
http://www.remus.dti.ne.jp/~shenron/secure/cgi_script/#2-1
http://hp.vector.co.jp/authors/VA003991/kouza/senior/kouza_socker_perl.html
http://www.7key.jp/nw/study1.html
http://kansai.anesth.or.jp/gijutu/perl/man-socket.php#f_socket

この辺りに書いてある、一般的なPerlでTCP/IPサーバーのソースと同じであることに気づきました。結局普通にポートを監視するようにして、それに対してHTMLの仕組みで自動的にアクセスさせてアクセス元を取り出しているだけなのです。この自動でアクセスさせるところがミソですね。

プロクシの話題だけじゃないですが、ネットスキルアップ講座は面白いと思いました。imgタグにフロッピーのパス(A:\)を入れて嫌がらせするなんて思いもしませんでした。アクセス解析と組み合わせてJavaScriptで不心得モノのIPに対してこういうタグを書き出すようにするのも面白いかもしれません。後が怖いですが。でも最近のPCには残念ながらフロッピー付いてなかったりするんですよね。

今回は生抜きする前に荒らしが収まったので、実際には使ってませんが、次回のためにメモメモです。JavaApplet利用したものの方が目立たずできそうなので、こちらもやってみようと思ってます。

|

« アクセス解析(露骨に拒否) | トップページ | アクセス解析(生IP)JavaApplet編 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/46744/3519244

この記事へのトラックバック一覧です: アクセス解析(生IP)telnet編:

« アクセス解析(露骨に拒否) | トップページ | アクセス解析(生IP)JavaApplet編 »