Карта на интернет

Нещо ме е хванала скуката. Пробвах да уча по Компютърни Архитектури, но резултата беше следобедна дрямка 🙂
Така че за да се измъкна за малко от творческата дупка, упражних малко PHP и регулярни изрази.
Резултата е налице – скрипт, който прави карта на ‘интернет’ 😀
По-точно приема като параметър URL и тръгва по изходящите от там връзки. Изходяща е връзка към домейн различен от домейна на URL-то. Не се следят броя връзки, нито въпросното URL се crawl-ва до всяка под-страница. Така от всеки домейн се преглежда само по едно URL, което означава че картата е далееече от точност 🙂 Ама я си представете от някой голям портал като dir.bg колко връзки навън има… и как се представят графично. За графичното представяне използвам Graphviz.
Вижда се че тук-таме субдомейните се представят като отделни сайтове. Примерно според скрипта idg.bg и www.idg.bg са две различни неща. Това е така, защото субдомейна www наистина може да е съвсем друг сайт 🙂 Скрипта не проверява съдържанието буква по буква за съвпадение.
И естествено целия паяк има ‘ограда’, за да не тръгне да прави наистина карта на Интернет. Това което се вижда е на разстояние до 2 хопа от ivan.tu-plovdiv.info.
Извинявам се на сайтовете, които се виждат вътре за спамопободния трафик към тях.
Ето я й самата карта (не съм си играл с настройките за шарении):
out.jpg

А тук има същата карта, но този път се вижда малко по-далече – на 3 хопа разстояние. Всичко се върти около google, picasa, youtube, myspace… Хмм, виждат се и няколко бъга, които имат нужда оправяне 🙂

Tags: ,

7 Responses to “Карта на интернет”

  1. BornToDrink says:

    Покай сорса де(ако може 😛 ), че ми е интересно какво има. : )
    Иначе яко се е получило.

  2. ivanatora says:

    Ами доста е нечетим, ама ето го:
    цък
    Правен е на бързо и не с идеята да е за изложба 🙂

  3. BornToDrink says:

    Е супер е кво.
    Аз скоро си правих скрипт към блога да ми ъпдейтва 2 таблици, едната с IP-тата посещавали блога, другата – ако посещенията са рефералс да ги вписва там, с парент ID-то на IP-то.

    Та, бачка си, но има огромна разлика, спрямо аналитикса и ми се струва, че гугъл филтрират не само ботове, а и разни други. Някой има ли наблюдения, щот мен лично мнгоо ме дразни да видя 50 IP-та и в аналитикса – 10 посещения примерно.

  4. ivanatora says:

    Уникални IP-та ли логваш или всички? Аналитикса ти показва само уникалните на графиката… и ‘всички’ малко по-встрани 🙂
    Другия вариянт е гугъл да имат черни листи на разни отворени проксита или на цели мрежи, в които са забелязани такива… Аз ако съм и засека отворено прокси от адрес А.Б.В.Г няма да банвам адреса, ами примерно А.Б.В.Г/24 🙂
    Това е което ми идва на ума за сега.

  5. BornToDrink says:

    Хм, не бях се сещал, ами всички логвам.
    И сега се замислям, че като браузвам от вкъщи, понеже сам си хоствам блога ми логва IP – 192.168.*.*
    Имаш ли идея как мога да го оптимизирам да логва само външните IP-та.
    А за листата, попадал съм на база със “всички” IP-та по държави, като нали се ъпдейтва от време на време, но ако се базирам на тях, то да проверява няколко мегабайта таблица на всяка импресия на блога.. ше стане много лошо. 🙂

    ПС – сори за офтопика в темата 🙂

  6. ivanatora says:

    Нищо, нищо, офтопика е интересен 🙂
    Ами като за начало филтрирай вътрешните адреси – според RFC 1918 това са – 192.168.Х.Х, 172.(16-31).Х.Х и 10.Х.Х.Х.
    Реализацията – както искаш – от регулярни изрази, до разбиването на IP стринга през точка и разглеждане на всеки от елементите между точките 😀

    Идея как да логваш само уникалните дневни посещения. Направи си един дневен лог файл и в него почваш да записваш. Като дойде адрес, проверяваш дали не съществува там, и ако не съществува го записваш. Ако съществува или не го записваш, или увеличаваш някакъв брояч – ако искаш да водиш статистика от всеки адрес по колко посещения имаш.

    А това със адресите, дето са разделени по държави… струва ми се много ресурсоемка задача 🙂 Особено ако се пуска на всяка импресия 😛 Ако искаш да имаш статистика по държави (в твоя блог пишеш ли на друг език освен на български? :P) направи един път на ден да се пуска скрипт, който взима всичките логнати до момента адреси и записва съответната държава на всеки от тях. Естествено старите адреси, които вече са ‘ресолвнати’ по държави не се пипат.

    Отделно може да си намериш някаква база с адреси на известни спамъри, роботи, търсачки и други ‘механични’ клиенти, които също може да искаш да не логваш.

  7. BornToDrink says:

    Тва с вътрешните ще го направя, а иначе, уникалните дневни ги правя точно така, като има каунтър за всички еднакви + логнали се днешната дата и отделна таблица с рефералс за всяко айпи.

    Даже сега гледам, че от тукашното имам 966 конекции, понеже тествах сървъра с една програмка. :mrgreen:

    Мисълта ми беше, че има много айпита, които (явно) са всеизвестни на разните каунтъри (гугъл, яху, бгкаунтър, тиксо и т.н.), които са на ботове разни и ми е интересно дали ще мога да приближа общия резултат със тоя на аналитикс, щот не е нищо сложно си мисля, но не намерих нищо интересно в гугъл. 🙂

Leave a Reply