我试图编程确定公司*与给定的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
您提到的“没有与IP地址相关联的whois信息”的例子显然是错误的。其中121.243.106.222有whois信息,它是Tata(印度最大的ISP)。由于它位于亚洲,因此您必须查询APNIC whois服务器,而不是RIPE。 (或者询问ARIN,它会重定向你。)是的,whois很复杂。 – bortzmeyer 2009-06-27 08:32:53
没有必要使用“unix whois工具”,whois协议非常简单,只需要两行就能以比C更近的任何语言实现它。 – bortzmeyer 2009-07-02 12:09:18