J'essaie de déterminer par programme la société * associée à une adresse IP donnée.Comment puis-je déterminer à quelle société appartient une adresse IP?
Ma première hypothèse était la suivante:
string hostname = Dns.GetHostEntry(IPAddress.Parse(ip)).HostName;
mais cela ne fonctionnera pas si le DNS inverse n'est pas correctement, ce qui semble se produire 90% du temps.
Toutefois, certains sites Web sont toujours en mesure de déterminer avec succès la société associée à une adresse IP spécifique, même si le reverse dns échoue. Par exemple, sur this site, le champ Fournisseur ISP contient parfois des informations précieuses (c'est-à-dire le nom de l'entreprise) même si le nom d'hôte n'est pas défini.
Quelle est la manière la plus simple d'obtenir la même chose avec .net?
Notes:
- Je ne ai pas besoin d'un nom canonique. c'est-à-dire MS ou Microsoft sont tous deux ok.
- Je cible les grandes entreprises, qui sont susceptibles de "posséder" leurs plages d'adresses IP.
- Je suis sous Windows, donc les outils whois d'unix ne sont pas installés par défaut.
Modifier concernant l'utilisation de whois: Parfois, there's no whois information associated with an IP
L'exemple que vous mentionnez "Aucune information whois associée à une adresse IP" est tout à fait faux. 121.243.106.222 a des infos sur whois, c'est Tata (le plus grand ISP en Inde). Comme il est en Asie, vous devez interroger le serveur whois APNIC, pas RIPE. (Ou interroger ARIN, qui vous redirigera.) Oui, whois est compliqué. – bortzmeyer
Il n'est pas nécessaire d'utiliser "unix whois tools", le protocole whois est si simple qu'il faut deux lignes pour l'implémenter dans n'importe quelle langue plus récente que C. – bortzmeyer