理系学生日記

おまえはいつまで学生気分なのか

いじめっ子を見返すためにプロキシをでっちあげる

学校裏サイトとかで特定個人を晒しあげる書き込みをするとか,「おめーの席ねーから」などと言いながら机とか椅子とかをベランダから落とすとかいう話を聞いて,ぼくは最近の中高生はこわいなーと震えながら暮らしている.
ところが,歳を経るごとに物事というのは複雑になりますから,大学院ともなると「いじめ」はより複雑化,巧妙化していって,ぼくはその被害者なのです!!

事例1

ぼくが研究室でなんかググろうかなーと,googleにアクセスしようとすると,なぜかメイドカフェに飛ばされるという現象が起こる.
ぼくのPCの/etc/hostsが書き変えられていて,googleへのアクセスが全部メイドカフェに飛ばされるという由々しき事態で,ぼくは愕然としてしまった.

事例2

ぼくが研究室でなんかググろうかなーと,googleにアクセスしようとすると,なぜかメイドカフェに飛ばされるという現象が起こる.


これはクソ巧妙で,ぼくがインターンシップに行っている間にしかけられていた.
/etc/hostsの書き換えでもなかったので全然わからなかったんですけど,
openblocksという小型のサーバがぼくの机の下にしかけられていて,ぼくのPCからのトラフィックのうちgoogle行きのHTTPリクエストが,メイドカフェに飛ばされていた!

身を守る

このように,近年のいじめというやつは,大人には見えないかんじで,とても巧妙です.
みなさんも上記のような事例を目にして,日本の現状に危機感を覚えて青ざめていらっしゃるでしょうし,目を真っ赤にしながらPTAに電話して抗議しようとされていることでしょう.しかし,残念ですけど日本のPTA活動とかは小中学校が中心,大学院は管轄外です.

社団法人日本PTA全国協議会は、小学校や中学校におけるPTA活動を通して、(略)

http://www.nippon-pta.or.jp/

二十歳を超えると,もはや自分の身は自分で守るしかないのです!
目には目を,歯には歯をというのはバビロニアの頃から言われていることで,ぼくはなんとかしていじめっ子のトラフィックをメイドカフェに飛ばせないかなーと日夜研究していた.そこはさすがのPERL HACKS,ばっちしそういうのが載っていたのでご紹介さしあげます.
いじめられっ子のみなさん!これでいじめがなくなる!かもわからない.


やり方は簡単!

  • いじめっ子がいない間に,いじめっ子のPCで下のスクリプトをバックグラウンドで起動させる
  • いじめっ子がいない間に,いじめっ子のブラウザのプロキシサーバ設定をlocalhostの8080番ポートに変える

これでいじめっ子はメイドカフェしか見れなくなるよ!やりましたね!

#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Proxy ':log';
use HTTP::Proxy::HeaderFilter::simple;

my $GOOGLE    = 'www.google.co.jp';
my $MAIDCOFFE = 'xxx.xxx.co.jp'
    
my $filter = rewrite_dst_filter( $MAIDCOFFE );

my $proxy = HTTP::Proxy->new();
$proxy->push_filter( host => $GOOGLE, request => $filter );
$proxy->start();

sub rewrite_dst_filter {
    my ( $dst ) = @_;

    return 
        HTTP::Proxy::HeaderFilter::simple->new(
            sub {
                my ( $self, $headers, $message ) = @_;
                
                $message->uri()->host( $dst );
                
                my $response = HTTP::Response->new(
                    301,
                    "Moved to $dst",
                    [ Location => $message->uri() ],
                );
                
                $self->proxy()->response( $response );
            }
        );
}

改善しないといけない

上のはPERL HACKSほとんどそのまんまなんですけど,何をやってるかというと,googleがメイドカフェのURIに引越したよ!というメッセージをでっちあげている.
ブラウザはそのメッセージをバカ正直に信じるのでうまくいくんですけど,telnetとかだとあたりまえですけどダメで,すぐバレる.

GET /index.html HTTP/1.1
Host: www.google.co.jp

HTTP/1.1 301 Moved to xxx.xxx.co.jp
Date: Sat, 23 Feb 2008 03:31:30 GMT
Transfer-Encoding: chunked
Location: xxx.xxx.co.jp
Server: HTTP::Proxy/0.20

レスポンスは301ですし,ServerにはHTTP::Proxyとかなる.
たぶんですけど,301レスポンスを生成するんじゃなくて,宛先をそのまま書き換えてやればいいし,Serverヘッダは消せると思うんですけど,おなかが減ったのでごはんたべてくる.