I vicini usano la tua rete wifi?

I miei vicini stavano usufruendo della mia connessione internet senza fili. Potevo criptarla, oppure divertirmi… Ecco come ho invertito il “senso” delle pagine.

Dividere la rete

Ho iniziato dividendo la rete in due parti. Quella da utilizzare e un’altra. La prima ha un netblock, l’altra uno differente. Usiamo il server DHCP per identificare gli indirizzi mac rilevanti.

/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;

        }
}


Comincia il divertimento con le IPTables

Improvvisamente tanti gattini.

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

Questo indirizza tutto il traffico verso kittenwar.

Per più divertimento, configuriamo IPtables verso un proxy squid trasparente sulla porta 80 della macchina.

/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

Quella macchina gestisce squid con un redirector banale che scarica le immagini, utilizza mogrify per mettere sotto-sopra la pagina e li serve fuori dal suo server web locale.

Lo script di reindirizzamento

#!/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++;
}

Poi le pagine internet saranno sottosopra.

E se rimpiazzi flip con blur-4 potrai ottenere l’effetto sfocato.

Scritto da Kynzo