2009-06-23 155 views
7

我试图编程确定公司*与给定的IP地址相关联。如何确定IP地址属于哪个公司?

我的第一个猜测是这样的:

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

但如果反向DNS设置不正确,这似乎发生90%的时间,这将无法正常工作。

但是即使反向DNS失败,一些网站仍然能够成功确定与特定IP相关联的公司。例如,在this site上,即使未设置主机名,ISP提供程序字段有时也包含有价值的信息(即公司名称)。

使用.net实现同一事物的最简单方法是什么?


注:

  • 我并不需要一个规范名称。即MS或微软都可以。
  • 我针对的是大公司,这些公司可能会“拥有”他们的IP地址范围。
  • 我在Windows上运行,因此默认情况下未安装unix的whois工具。

关于使用域名注册的编辑:有时候,there's no whois information associated with an IP

+0

您提到的“没有与IP地址相关联的whois信息”的例子显然是错误的。其中121.243.106.222有whois信息,它是Tata(印度最大的ISP)。由于它位于亚洲,因此您必须查询APNIC whois服务器,而不是RIPE。 (或者询问ARIN,它会重定向你。)是的,whois很复杂。 – bortzmeyer 2009-06-27 08:32:53

+0

没有必要使用“unix whois工具”,whois协议非常简单,只需要两行就能以比C更近的任何语言实现它。 – bortzmeyer 2009-07-02 12:09:18

回答

0

你可以做https://ws.arin.net/whois网站上的信息查询和解析出您正在寻找的信息。

+0

不幸的是,它没有提供我正在寻找的信息 – Brann 2009-06-23 13:49:05

2

你可以从微软

编辑为Windows安装whois命令行工具:那么你在找什么样的信息?

>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

大多数情况下,我借调“whois”的答案。早在当时,公司拥有全部地址,因此人们往往很容易编写自己的“whois”,但随着IP(v4)地址变得更加稀缺,它不再容易。我甚至不会想现在就尝试。使用真正的whois。

0

与许多程序上的顾虑,你问是不是你想像的那么简单。

问题首先...您希望解析的IP地址的来源是什么 - 网站“访问者”,Web服务器还是未知来源?为了这个回应的目的,我会推定您希望“转换”网站访问者,因为这是解决IP->公司最常见/有价值的原因。

问题一...... 使用WHOIS,您可以解析与有问题的IP地址关联的网络块(IP地址范围)的“所有者”。 netblock的“所有者”通常是为您希望识别的公司提供服务的ISP,而不是使用IP地址的公司。

问题二... DNS不是IP-> domain.tld或domain.tld-> ip类型解析之外的任何可靠来源。除此之外,它不是强制性的(不是真的),也不是完全可靠的。

问题三... 这可能不是您的问题。根据解析您的WHOIS查询的NIC(ARIN,RIPE等),您会发现生成的格式并不总是易于解析 - 可读...是的,可分析的...不。