2009-06-23 161 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等),您會發現生成的格式並不總是易於解析 - 可讀...是的,可分析的...不。