Pull to refresh

Интернет вверх тормашками

Design
Добрый день, близится 1 апреля, и очень не хотелось бы, чтобы этот день был таким же как и остальные, поэтому предлагаю особый, айтишный прикол. Это перевод случайно найденной на просторах интернета статьи, собственно, перевел ее a11aud, но ему не хватает кармы на пост, поэтому пишу я (сам a11aud будет очень благодарен за карму:))

1) Вступление


Мои соседи воруют мой беспроводной интернет. Да, я мог начать шифроваться, но можно ведь получить кучу удовольствия от созерцания недоумения на их лицах!

2) Разделяем сеть!


Я начал с разделения сети на две части: доверяемую и недоверяемую. Доверяемая имела свою долю сети, недоверяемая — свою. Мы используем DHCP сервер, чтобы идентифицировать мак-адреса для разделения на соответствующие группы.


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

    }
}

* This source code was highlighted with Source Code Highlighter.


3) IPtables — это забавно!


Внезапно все стало кошками! Кошканет.

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

Для непосвященных, это редиректит весь траффик на kittenwar

P.S. В качестве рускоязычной альтернативы предлагаю http://www.koshkimira.ru/

Для пущего веселья, можно настроить iptables на форвардинг всего на прозрачный squid проксик, запущенный на 80 порту.

/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

На этой тачке крутится squid с банальным редиректом, который скачивает картинки, использует модификатор, чтобы перевернуть их кверх ногами и выдает за пределы локального вебсервера.

Собственно, сам скрипт:

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


* This source code was highlighted with Source Code Highlighter.


4) И интернет стал выглядеть так!





А если попробовать эффект расплывчивости "-blur 4", то вы получите «расплывнет»!


Оригинал
Tags:
Hubs:
Total votes 147: ↑142 and ↓5 +137
Views 5K
Comments Comments 49