Как определить, к какой компании принадлежит IP-адрес? - PullRequest
7 голосов
/ 23 июня 2009

Я пытаюсь программно определить компанию *, связанную с данным IP-адресом.

Мое первое предположение было таким:

  string hostname = Dns.GetHostEntry(IPAddress.Parse(ip)).HostName;

но это не сработает, если обратный DNS настроен неправильно, что, кажется, происходит в 90% случаев.

Однако некоторые веб-сайты все еще могут успешно определить компанию, связанную с конкретным IP-адресом, даже если обратный DNS не удается. Например, на этом сайте поле провайдера ISP иногда содержит ценную информацию (например, название компании), даже если имя хоста не задано.

Какой самый простой способ добиться того же с помощью .net?


Примечания:

  • Мне не нужно каноническое имя. то есть MS или Microsoft оба в порядке.
  • Я нацеливаюсь на крупные компании, которые могут «владеть» своими диапазонами IP-адресов.
  • Я работаю в Windows, поэтому утилиты whois Unix по умолчанию не установлены.

Изменить в отношении использования whois: Иногда нет информации whois, связанной с IP

Ответы [ 5 ]

2 голосов
/ 23 июня 2009

Вы можете установить whois инструмент командной строки для Windows от Microsoft

изменить: тогда какую информацию вы ищете?

>whois bbc.co.uk
Domain name:
    bbc.co.uk

Registrant:
    British Broadcasting Corporation

Registrant type:
    UK Limited Company, (Company number: 000057)

Registrant's address:
    Research & Development
    Kingswood Warren
    Tadworth
    Surrey
    KT20 6NP
    United Kingdom

Registrar:
    British Broadcasting Corporation [Tag = BBC]
0 голосов
/ 19 февраля 2010

Как и во многих проблемах с программой, то, что вы спрашиваете, не так просто, как вы могли ожидать.

Вопрос (ы) первый ... какой источник IP-адреса вы хотите разрешить - веб-сайт "посетитель", веб-сервер или неизвестный источник? В этом ответе я предполагаю, что вы хотите «конвертировать» посетителя веб-сайта, поскольку это наиболее распространенная / ценная причина для разрешения IP-> Company.

Выпуск первый ... Используя WHOIS, вы можете определить «владельца» сетевого блока (диапазон IP-адресов), связанного с данным IP-адресом. «Владельцем» сетевого блока является (обычно) провайдер, обслуживающий компанию, которую вы хотите идентифицировать, а не компанию, использующую IP-адрес.

Выпуск второй ... DNS не является надежным источником чего-либо, кроме разрешения IP-> domain.tld или domain.tld-> ip. Кроме того, он не применяется (не совсем) и не полностью надежен.

Выпуск третий ... Это не может быть проблемой для вас. В зависимости от сетевого адаптера (ARIN, RIPE и т.

0 голосов
/ 23 июня 2009

Отметьте это http://ws.arin.net/whois/ в нем должна быть указана необходимая информация

Вы можете попробовать запросить

http://ws.arin.net/whois/?queryinput={ipaddress} с помощью WebClient или WebRequest, а затем попробуйте проанализировать возвращенную строку.

Простая строка. Поиск IndexOf ("OrgName:") должен приблизить вас.

пример URL http://ws.arin.net/whois/?queryinput=207.46.193.254

НТН

1018 * ONESHOT *

0 голосов
/ 23 июня 2009

В основном я поддерживаю ответы "whois". Когда-то компании владели целыми блоками адресов, так что раньше людям было довольно легко писать свои собственные «whois», но по мере того, как IP-адреса (v4) становились все более скудными, их было просто. Я бы даже не подумал попробовать это сейчас. Используйте настоящий whois.

0 голосов
/ 23 июня 2009

Вы можете выполнить поиск по whois на веб-сайте https://ws.arin.net/whois и проанализировать информацию, которую вы ищете.

...