Ich versuche, das Unternehmen * mit einer bestimmten IP-Adresse programmatisch zu bestimmen.Wie kann ich feststellen, zu welcher Firma eine IP-Adresse gehört?
Meine erste Vermutung war:
string hostname = Dns.GetHostEntry(IPAddress.Parse(ip)).HostName;
aber das wird nicht funktionieren, wenn der Reverse-DNS nicht richtig eingestellt ist, die 90% der Zeit zu passieren scheint.
Einige Websites sind jedoch immer noch in der Lage, das mit einer bestimmten IP verbundene Unternehmen zu ermitteln, auch wenn die umgekehrte DNS fehlschlägt. Unter this site beispielsweise enthält das Feld ISP Provider manchmal wertvolle Informationen (dh den Namen des Unternehmens), auch wenn der Hostname nicht festgelegt ist.
Was ist der einfachste Weg, um die gleiche Sache mit .net zu erreichen?
Hinweise:
- Ich habe keinen kanonischen Namen brauchen. dh MS oder Microsoft sind beide in Ordnung.
- Ich ziele auf große Unternehmen, die wahrscheinlich ihre IP-Adressbereiche "besitzen".
- Ich bin auf Windows ausgeführt, so dass Unix Whois-Tools nicht standardmäßig installiert sind.
Bearbeiten in Bezug auf die Verwendung von whois: Manchmal there's no whois information associated with an IP
Das von Ihnen erwähnte Beispiel "Keine Informationen, die mit einer IP-Adresse verknüpft sind", ist eindeutig falsch. 121.243.106.222 hat whois info, es ist Tata (der größte ISP in Indien). Da es in Asien ist, müssen Sie APNIC whois Server abfragen, nicht RIPE. (Oder fragen Sie ARIN, das Sie umleitet.) Ja, Whois ist kompliziert. – bortzmeyer
Es ist nicht notwendig, "unix whois tools" zu verwenden, das Whois-Protokoll ist so einfach, dass es zwei Zeilen benötigt, um es in einer Sprache zu implementieren, die aktueller ist als C. – bortzmeyer