Pokaż wyniki 1 do 9 z 9

Temat: ip2location-jak odczytać całą zawartość bazy

  1. #1
    Zarejestrowany
    May 2008
    Postów
    6

    Lightbulb ip2location-jak odczytać całą zawartość bazy

    Witam
    Mam dla was "bojowe zadanie", chodzi o bazę danych geolokalizacyjną...
    w bazie jest ponad 6 mln. adresów IP

    baza danych: http://www.ip2location.com/developers/samples-db10.zip (IP2Location™Binary Format)
    skrypt perla: http://www.ip2location.com/download/...ation.Perl.ZIP
    perl api: http://www.ip2location.com/download/...on-2.10.tar.gz

    Schemat bazy:
    1 IP_FROM NUMERICAL (DOUBLE)
    2 IP_TO NUMERICAL (DOUBLE)
    3 COUNTRY_CODE CHAR(2)
    4 COUNTRY_NAME VARCHAR(64)
    5 REGION VARCHAR(128)
    6 CITY VARCHAR(128)
    7 LATITUDE NUMERICAL (DOUBLE)
    8 LONGITUDE NUMERICAL (DOUBLE)
    9 ZIPCODE CHAR(5)
    10 TIME_ZONE VARCHAR(7)
    11 ISP_NAME VARCHAR(256)
    12 DOMAIN_NAME VARCHAR(128)
    13 NETSPEED VARCHAR(10)

    Macie pomysł jak odczytać w całości zawartość tej bazy danych?
    Dodam, że dla osób które znają perla to może okazać się dość proste przerobienie tego skryptu...
    Ostatnio edytowane przez Fixer : 05-18-2008 - 09:52

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Zrbic sobie w petli plik wejsciowy tak jak oczekuje skrypt, pozniej przemaglowac tym co podlinkowales powyzej i masz wyniki...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    May 2008
    Postów
    6

    Domyślnie

    a wiesz ile jest w puli wszystkich adresów IP?

    kombinacje:
    Kod:
    Klasa   liczba sieci     liczba hostów w sieci
      A        126*               16 777 216
      B        16 384             65 535
      C        2 097 152            254
    zakresy:
    Kod:
    Klasa   Najniższy adres    Najwyższy adres
      A         1.0.0.0          126.0.0.0
      B         128.0.0.0        191.255.0.0
      C         192.0.0.0        223.255.255.0
      D         224.0.0.0        239.255.255.255
      E         240.0.0.0        247.255.255.255
    te wartości idą w mld.
    mało tego potem trzeba będzie stworzyć zakresy od adresu do adresu
    no a ile to miejsca zeżre, baza z zakresami ma 500 MB

    no co jest nikt nie zna perla czy jak?
    Ostatnio edytowane przez Fixer : 05-21-2008 - 09:07

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Cytat Napisał Fixer Zobacz post
    a wiesz ile jest w puli wszystkich adresów IP?
    Wiem doskonale...

    Cytat Napisał Fixer Zobacz post
    te wartości idą w mld.
    dokladnie mowiac niecale 4.3mld adresow

    Cytat Napisał Fixer Zobacz post
    mało tego potem trzeba będzie stworzyć zakresy od adresu do adresu
    Robic agregaty z danych ktore rozkladasz na czesci pierwsze? nie ma to absolutnie zadnego sensu...

    Cytat Napisał Fixer Zobacz post
    no a ile to miejsca zeżre, baza z zakresami ma 500 MB
    zalezy od formatu bazy jakiego bedziesz uzywal

    Cytat Napisał Fixer Zobacz post
    no co jest nikt nie zna perla czy jak?
    Znam i to dosc dobrze... tylko Twoja prosba jest malo logiczna bo rozlozyc baze i pozniej ja poskladac? po co - przeciez juz teraz masz taka baze na wejsciu i to do tego z gotowymi skryptami do wyciagania z niej danych...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5
    Zarejestrowany
    May 2008
    Postów
    6

    Domyślnie

    Cytat Napisał TQM Zobacz post
    Twoja prosba jest malo logiczna bo rozlozyc baze i pozniej ja poskladac? po co - przeciez juz teraz masz taka baze na wejsciu i to do tego z gotowymi skryptami do wyciagania z niej danych...
    cały problem polega na tym aby z formatu BIN (kompilowany, nie można go edytować i jest mało wydajny) zrobić format CSV (ogólnodostępny do zaimportowania do dowolnej bazy danych)

    Cytat Napisał TQM Zobacz post
    Wiem doskonale...
    dokladnie mowiac niecale 4.3mld adresow
    hmm już tak "dokładnie mówiąc" to: 4 294 967 295
    Jak wejdzie IPv6 to będzie już bagatelka: 340282366920938463463374607431768211455
    i wtedy chciał bym zobaczyć jak podajeszcz na wejście wszystkie te ipki :P

    5 000 rekordów (645kb) wyciągam z bazy BIN z astronomiczną prędkością 2 min
    dla porównania z mysql wyciągam te same dane z prędkością 5 sekund

    Wyciągnięcie wszystkich danych zajmie mi ponad 3 lata
    i zajmie 554 GB w formacie csv (a może coś źle liczę )

    PS. dziiieeeki wielkie że sie ktoś zainteresował tym tematem bo już myślałem że będzie klapa...
    Ostatnio edytowane przez Fixer : 05-21-2008 - 10:22

  6. #6
    Zarejestrowany
    May 2008
    Postów
    3

    Domyślnie

    Co do adresacji to nie róbcie sobie jaj.

  7. #7
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Hehe co do adresacji to nie robimy sobie jaj... teraz mamy 2^32 adresow IP a pozniej bedzie 2^128 wiec 'nieco' wiecej...

    @Fixer - co do formatu binarnego to moim zdaiem jest o wiele wydajniejszy przy tej bazie niz jakikolwiek CSV czy SQL. Owszem, pracuje sie na nim trudniej bo binarny a nie tekstowy (CSV) ale wlasnie dzieki temu zajmuje on tylko tyle miejsca na dysku a kwestia szybkosci czytania to kwestia algorytmu.
    Moim zdaniem rozpracowywanie adresow pojedynczo nie ma wielkiego sensu - trzeba korzystac z agregowanych wynikow. W sumie to ciekawostka jest baza maxmind.com - oni maja albo na bazie plikow (tez binarne ale diablo szybkie) lub uslugi dostepnej przez HTTP - daja do tego fajne API (sam uzywam wersji WWW bo nie musze sie bawic w aktualizacje baz).

    Moze warto pomyslec nad innym dostawca bazy niz ten o ktorym pisales?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  8. #8
    Zarejestrowany
    May 2008
    Postów
    6

    Domyślnie

    Cytat Napisał TQM Zobacz post
    co do formatu binarnego to moim zdaiem jest o wiele wydajniejszy przy tej bazie niz jakikolwiek CSV czy SQL.
    Teoretycznie wersja kompilowana powinien być szybsza, jednak prosty test 300 ipków na wsadzie z zegarkiem w ręku nie pozostawia złudzień...

    Cytat Napisał TQM Zobacz post
    Moze warto pomyslec nad innym dostawca bazy niz ten o ktorym pisales?
    Tak coś tam słyszałem o maxmind.com. Jeśli jej używasz to moze mi odpowiesz na kilka nurtujących mnie pytań (zaoszczedzisz mi czasu na poszukiwaniach odpowiedzi).
    1. Czy ta baza jest darmowa?
    2. Jak duża jest ta baza?
    3. Jaką formę szczegółowości oferuje (ile kolumn w bazie)?

  9. #9
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    1. jest platna ale za to ciagle aktualizowana
    2. nie sciagalem do siebie - wybralem wersje on-line, wiec mam API przez ktore odpytuje ich systemy bezposrednio z moich wlasnych aplikacji - 50k zapytan kosztuje $20
    3. lista pol w GeoIP City:

    • Start IP Number
    • End IP Number
    • Location ID
    • Country Code
    • State/Region
    • City Name
    • Postal Code
    • Latitude
    • Longitude
    • Metro Code
    • Area Code


    Baza Netspeed:
    • Start IP Number
    • End IP Number
    • Netspeed


    Wszystko jest na ich stronie... i szczerze mowiac, wersja web (api) jest ok, bo nie martwie sie o aktualizacje bazy itd... musze tylko miec 3 pliczki pomocnicze pomagajace w tlumaczeniu niektorych kodow na zrozumiale dla szarego czlowieka wartosci. Poza tym web-api daje mi jeden dodatek - wszystkie bazy w jednym :P

    Note: All APIs work with GeoIP Country. Selected APIs work with GeoIP Region, City, ISP, and Organization as well.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. Skrypt przeszukujący zawartość strony.
    By ShutDown in forum Domeny/Serwery
    Odpowiedzi: 5
    Autor: 04-16-2008, 08:34
  2. Odpowiedzi: 6
    Autor: 02-15-2008, 09:19
  3. Zapytanie do bazy danych.
    By calibra in forum Newbie - dla początkujących!
    Odpowiedzi: 14
    Autor: 12-15-2007, 19:43
  4. jak odczytać hash z zipa z hasłem
    By hash123 in forum Hacking
    Odpowiedzi: 10
    Autor: 12-08-2007, 10:18
  5. Pliki textur w grze - jak podejrzeć ich zawartość ?
    By sztyrlic224 in forum Off Topic
    Odpowiedzi: 3
    Autor: 07-10-2007, 23:07

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj