Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2017.11.12;
Скачать: [xml.tar.bz2];

Вниз

Модуль Whois, определение города и оператора связи по ip-ку.   Найти похожие ветки 

 
YurikGL ©   (2010-05-11 10:44) [0]

Может кто делал? Что бы можно было для набора ip-в вычислить город и оператора связи. Ну или хотя бы просто вернуть текст аналогичный возвращаемому службой http://www.ripe.net/perl/whois


 
Anatoly Podgoretsky ©   (2010-05-11 11:52) [1]

> YurikGL  (11.05.2010 10:44:00)  [0]

Оставь надежду. Во первых там там написано то, что захотел регистрант,
например я одно время находился в Калифорнии, а потом в Таллине, что не
соответствует действительности и так же по другим полям. Во вторых можно
ничего не найти, например мой домен не находит. Ну а в третьих WHOIS
компонент много написано, попробуй поискать на Торри.


 
Anatoly Podgoretsky ©   (2010-05-11 11:54) [2]

> Anatoly Podgoretsky  (11.05.2010 11:52:01)  [1]

Ну и ты наверно догадываешься, что я вхожу в The RIPE NCC Service Region


 
YurikGL ©   (2010-05-11 12:09) [3]


> Ну а в третьих WHOIS
> компонент много написано, попробуй поискать на Торри.

Там из три.
Одно с первого же пинка не запустилось, одно платное, а еще одно показывает географическое расположение.
Будут копать.

Но если есть готовые решения - буду рад


 
YurikGL ©   (2010-05-11 12:11) [4]


> Оставь надежду. Во первых там там написано то, что захотел
> регистрант,
> например я одно время находился в Калифорнии, а потом в
> Таллине, что не
> соответствует действительности и так же по другим полям.
>  Во вторых можно
> ничего не найти, например мой домен не находит.

Мне нужно исключительно по Ip-м. Домены меня не интересуют.  А у ip-в достоверность выше.
Цель - анализ адекватности голосов на сайте. Не точный, не идеальный, но хоть какой-то.


 
Anatoly Podgoretsky ©   (2010-05-11 12:28) [5]

> YurikGL  (11.05.2010 12:11:04)  [4]

WhoIS работает исключительно с доменами, это всего лишь регистрационная
база.
А как ты запрашиваешь по имени или по ИП не важно.
Тебе нужна другая база, ИП географическая, но обычно это тайна, ее ведут
провайдеры и шареварщики, для себя. Я же говорил, что я был в Калифорнии,
что доказывает бессмысленность базы(баз) Whois - это все обман. Касательно
моей записи в Whois, то сейчас там все правильно, никаких Калифорний и
Таллинов.


 
YurikGL ©   (2010-05-11 12:35) [6]


> WhoIS работает исключительно с доменами, это всего лишь
> регистрационная
> база.
> А как ты запрашиваешь по имени или по ИП не важно.

Может я что то не своими именами называю...
http://www.ripe.net/perl/whois
ввожу ip-к. Например 81.30.200.38 Этому ip-ку не соответствуют никакие доменные имена (по крайней мере, не должны)
Он выдает (в т.ч.)
% Information related to "81.30.192.0 - 81.30.201.255"
....
person:          Nikolay Triakin
address:         ZAO "Delovaja set"
address:         902,17 Curupa str.
address:         Ufa Russia
phone:           +7 3472 900400 begin_of_the_skype_highlighting              +7 3472 900400      end_of_the_skype_highlighting
fax-no:          +7 3472 900400
nic-hdl:         NT206-RIPE
source:          RIPE # Filtered


Вот мне и нужно такие запросы составлять автоматизированно в больших количествах. А в идеале еще и "правильно" вытаскивать город и оператора связи (если это технически возможно).


 
Anatoly Podgoretsky ©   (2010-05-11 12:55) [7]

> YurikGL  (11.05.2010 12:35:06)  [6]

RIPE NCC содержит информацию по сетям и делает поиск по NETNAME и по ИП
Во всяком случае он не смог сделать поиск по моей сети и выдал неверную
информации.
А точную информацию об моей сети/домене можно получить с NIC


 
Anatoly Podgoretsky ©   (2010-05-11 13:06) [8]

> Anatoly Podgoretsky  (11.05.2010 12:55:07)  [7]

Вот whois по мне, у моего регистратора
http://www.networksolutions.com/whois-search/podgoretsky.com
Попробуй определить город и оператора
То же по RIPE NCC, там вообще чушь


 
YurikGL ©   (2010-05-12 06:33) [9]

Еще раз повторяю. Мне не нужны доменные имена. Мне нужно "где находится вот этот вот Ip-к" доменных имен у меня вообще нет.
Для ip-ка 83.166.49.48 (резолвится на podgoretsky.com) получаем информацию. Есть основания утверждать, что ip-к 83.166.49.48 находится не в Эстонии?

inetnum:         83.166.49.0 - 83.166.51.255
netname:         VIRUNET
descr:           Narva-2 XDSL
country:         EE
admin-c:         VNET1-RIPE
tech-c:          VNET1-RIPE
status:          ASSIGNED PA
mnt-by:          MNT-VNET
mnt-lower:       MNT-VNET
mnt-routes:      MNT-VNET
source:          RIPE # Filtered

role:            VNET NOC
address:         Uus tn. 2
address:        41533 Jo"hvi
address:         Estonia
phone:           +372 33 70146 begin_of_the_skype_highlighting              +372 33 70146      end_of_the_skype_highlighting
phone:           +372 53 411 511 begin_of_the_skype_highlighting              +372 53 411 511      end_of_the_skype_highlighting
fax-no:          +372 33 71908
admin-c:         TL435-RIPE
tech-c:          AN1246-RIPE
nic-hdl:         VNET1-RIPE
mnt-by:          MNT-VNET
abuse-mailbox:   abuse@vnet.ee
source:          RIPE # Filtered

% Information related to "83.166.32.0/19AS3249"

route:           83.166.32.0/19
descr:           EE-VIRUNET-20040525
origin:          AS3249
mnt-by:          ESTPAK-MNT
source:          RIPE # Filtered


 
Anatoly Podgoretsky ©   (2010-05-12 09:28) [10]

> YurikGL  (12.05.2010 06:33:09)  [9]

Сейчас в Эстонии. но это не моя запись, эта запись относится к netname:
VIRUNET
И живу я по другому адресу (а вопрос про Город), в whois networksolution
совсем другие данные, только их посмотреть вам нельзя, у меня приватная
регистрация. То есть RIPE своей роли не смог выполнить.


 
Anatoly Podgoretsky ©   (2010-05-12 09:32) [11]

> YurikGL  (12.05.2010 06:33:09)  [9]

Кстати по поводу "не в Эстонии", это сейчас, а я писал, что находился в
Калифорнии, в городе Санта Фе, не покидая Эстонию.
Но если это устраивает, да ради бога. Тогда ICS в руки + RFC + RIPE Whois
Documentation


 
Anatoly Podgoretsky ©   (2010-05-12 10:11) [12]

Кстати и та приведеная в RIPE информация, тоже уже не верная, просто ее не исправляют в WHOIS, на самом деле netname уже Elion и местонахождения уже Таллин


 
YurikGL ©   (2010-05-13 20:09) [13]

Информации Ripe-а мне вполне хватает....
Покурив http://labs.ripe.net/content/ripe-database-api-documentation#QueryAPI-search  выяснил, что запросы типа http://lab.db.ripe.net/whois/search?source=ripe&query-string=94.41.9.69 возвращают достаточно внятную xml-ку
ip-к можно подставлять любой (из зоны ripe-а).

Осталась сущая малось.... научиться загружать xml-ку и парсить.

з.ы. пост ответа не требует... так, если вдруг кому понадобиться.


 
Gu   (2010-09-03 19:20) [14]

примерная реализация

кидаем на форму edit1,button,memo,компоненты XMLDocument (с вкладки Internet) и JvHttpUrlGrabber (из набора jedi), в свойствах JvHttpUrlGrabber1 меняем OutputMode на omStream

в обработчике кнопки пишем

memo1.clear;
JvHttpUrlGrabber1.Url:="http://lab.db.ripe.net/whois/search?source=ripe&query-string="+edit1.text;
memo1.lines.add("IP: "+edit1.text);
JvHttpUrlGrabber1.Start;

в обработчике JvHttpUrlGrabber1DoneStream

var s:string;c:ixmlnodelist;x:ixmlnode;
begin
Try
XMLDocument1.LoadFromStream(stream);
XMLDocument1.Active:=true;s:="";
c:=XMLDocument1.DocumentElement.ChildNodes; // получаем структуру
x:=c.Get(2); // спускаемся по веткам
c:=x.ChildNodes;x:=c.Get(0);
c:=x.ChildNodes;x:=c.Get(3);
c:=x.ChildNodes;x:=c.Get(0);
if x.Attributes["value"]<>null then s:=" (диапазон: "+x.Attributes["value"]+", имя сети: " else s:=s+"?";
x:=c.Get(1);
if x.Attributes["value"]<>null then s:=s+x.Attributes["value"]+", пояснение: " else s:=s+"?";
x:=c.Get(2);
if x.Attributes["value"]<>null then s:=s+x.Attributes["value"]+", страна: " else s:=s+"?";
x:=c.Get(3);
if x.Attributes["value"]<>null then s:=s+x.Attributes["value"]+")" else s:=s+"?";
memo1.Lines.Add(s);
XMLDocument1.Active:=false;
except
memo1.lines.add("error");
end;
JvHttpUrlGrabber1.Stop;


 
Gu   (2010-09-03 19:29) [15]

похожая проблема: http://delphimaster.net/view/6-1283385235/


 
YurikGL ©   (2010-09-06 12:18) [16]

В итоге получилось как-то так.

dst: TADODataSet;
dsc: TADOCommand;

...
в dst лежит список ip-в

заполнение поля st данными, возвращаемыми ripe-м

dst.First;
dsc.CommandText:="update t set st=:st where id=:id";
try
while not dst.Eof do begin
 st:=IdHTTP1.Get("http://lab.db.ripe.net/whois/search?source=ripe&query-string="+dst.fieldbyname("ip").AsString);
 dsc.Parameters.ParamByName("st").Value:=st;
 dsc.Parameters.ParamByName("id").Value:=dst.fieldbyname("id").value;
 dsc.Execute;
 dst.Next;
 Application.ProcessMessages;
 Memo1.Lines.Add(dst.fieldbyname("id").AsString)
                   end;
except
  on e:Exception do begin
     ShowMessage(dst.fieldbyname("id").AsString+"|");
                    end
end;


определение провайдера (для моих нужд сошло и так)

dst.First;
dsc.CommandText:="update t1 set prov=:prov where id=:id";
try
while not dst.Eof do begin
 prov:="";

 if pos("Ufanet",dst.fieldbyname("st").asstring)>0 then prov:=Prov+" Уфанет";

 if pos("Golden Telecom",dst.fieldbyname("st").asstring)>0 then prov:=Prov+" ГолденТелеком";
//много строчек с провайдерами
....

 if prov="" then prov:="неизвестен.";

 dsc.Parameters.ParamByName("prov").Value:=prov;
 dsc.Parameters.ParamByName("id").Value:=dst.fieldbyname("id").value;
 dsc.Execute;
 dst.Next;
 Application.ProcessMessages;
 Memo1.Lines.Add(dst.fieldbyname("id").AsString)
                   end;
except
  on e:Exception do begin
     ShowMessage(dst.fieldbyname("id").AsString+"|");
                    end
end;



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2017.11.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.002 c
2-1450677845
ВладОшин
2015-12-21 09:04
2017.11.12
подскажите обратную формулу


15-1464643802
Юрий
2016-05-31 00:30
2017.11.12
С днем рождения ! 31 мая 2016 вторник


15-1465507801
Юрий
2016-06-10 00:30
2017.11.12
С днем рождения ! 10 июня 2016 пятница


15-1467495002
Юрий
2016-07-03 00:30
2017.11.12
С днем рождения ! 3 июля 2016 воскресенье


1-1355034458
mfender
2012-12-09 10:27
2017.11.12
RTTI. Бесчеловечный AV для некоторых типов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский