Upside-Down-Ternet  Hot PDF Print E-mail
Tag it:
Delicious
Furl it!
Digg
NewsVine
Reddit
YahooMyWeb
Technorati
Articles Reviews Networking & Communication
Written by Pete Stevens   
Monday, 07 September 2009

 My neighbours are stealing my wireless internet access. I could encrypt it or alternately I could have fun.

Split the network

I'm starting here by splitting the network into two parts, the trusted half and the untrusted half. The trusted half has one netblock, the untrusted a different netblock. We use the DHCP server to identify mac addresses to give out the relevant addresses. 


/etc/dhcpd.conf


ddns-updates off;

ddns-update-style interim;

authoritative;


shared-network local {


        subnet *.*.*.* netmask 255.255.255.0 {

                range *.*.*.* *.*.*.*;

                option routers *.*.*.*;

                option subnet-mask 255.255.255.0;

                option domain-name "XXXXX";

                option domain-name-servers *.*.*.*;

                deny unknown-clients;


                host trusted1 {

                        hardware ethernet *:*:*:*:*:*;

                        fixed-address *.*.*.*;

                }

}


        subnet 192.168.0.0 netmask 255.255.255.0 {

                range 192.168.0.2 192.168.0.10;

                option routers 192.168.0.1;

                option subnet-mask 255.255.255.0;

                option domain-name-servers 192.168.0.1;

                allow unknown-clients;


        }

}

 

IPtables is Fun!


Suddenly everything is kittens! It's kitten net.

/sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 64.111.96.38

For the uninitiated, this redirects all traffic to kittenwar.

For more fun, we set iptables to forward everything to a transparent squid proxy running on port 80 on the machine.

/sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1

That machine runs squid with a trivial redirector that downloads images, uses mogrify to turn them upside down and serves them out of it's local webserver.

The redirection script

#!/usr/bin/perl

$|=1;

$count = 0;

$pid = $$;

while (<>) {

        chomp $_;

        if ($_ =~ /(.*\.jpg)/i) {

                $url = $1;

                system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.jpg", "$url");

                system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.jpg");

                print "http://127.0.0.1/images/$pid-$count.jpg\n";

        }

        elsif ($_ =~ /(.*\.gif)/i) {

                $url = $1;

                system("/usr/bin/wget", "-q", "-O","/space/WebPages/images/$pid-$count.gif", "$url");

                system("/usr/bin/mogrify", "-flip","/space/WebPages/images/$pid-$count.gif");

                print "http://127.0.0.1/images/$pid-$count.gif\n";

 

        }

        else {

                print "$_\n";;

        }

        $count++;

}

Then the internet looks like this!




And if you replace flip with -blur 4 you get the blurry-net


User reviews

There are no user reviews for this item.

Add new review




Powered by jReviews

Last Updated ( Monday, 07 September 2009 )
 
< Prev   Next >