Comment obtenir WhoIs info par IP en Python 3?
Remarque: Ce n'est pas une bibliothèque de recommandation en question. C'est plutôt sur les approches à ce problème.
Question: Quelles sont les approches possibles pour retrouver les informations WhoIs de donnée de l'adresse IP en Python 3? Le résultat doit contenir au moins:
- Le pays d'enregistrement
- FAI le nom, l'adresse, les abus de messagerie
- Si elle est enregistrée, le nom de domaine
- Enregistrement et expiery dates
- Des points de Bonus si le résultat n'est pas au format texte brut et est au-dessus de l'info est structuré
Je ne suis pas à la recherche pour les wrappers autour de la coquille "whois" de commande que le programme doit fonctionner sous Windows.
Avant de poser cette question, google m'a donné les bibliothèques suivantes:
La suite de générer des erreurs lors de l'installation via pip
ou lorsque lors de l'importation:
BulkWhois
WhoisClient
cymruwhois
dwhois
ipwhois
pyiptools
python-whois
pywhois
uwhoisd
whois
whoislookup
whoispy
Les bibliothèques suivantes dans Python 3, mais qu'ils font l'inverse de ce que je veux - ils rechercher par nom de domaine, et non par adresse IP:
nicnames
pythonwhois
J'ai regardé dans les questions suivantes avant de demander:
- Comment puis-je effectuer une recherche WHOIS avec PHP ou Python?
- python whois pour windows
- https://stackoverflow.com/questions/16753309/python-whois-library
Donc, fondamentalement, vous voulez reproduire ce que l'whois de commande? le code source n'est pas spécialement long de sorte que vous pouvez commencer par là: whois.c. Voici un exemple en python: lien
Eh bien, que C fichier Unix/autres? les en-têtes. Ajouter de la complexité de l'importation de fonctions C pour python.
Permettez-moi de de recherche de ce que ces services sont.
vous pouvez utiliser
socket.gethostbyaddr
et de le passer à whois.whois
OriginalL'auteur Babken Vardanyan | 2014-07-04
Vous devez vous connecter pour publier un commentaire.
Installer la version stable de dnspython de ici
Puis
pip3 install ipwhois
.HTTP:
L'API a changé, pour le héritage ipwhois IPWhois.lookup() est obsolète depuis la v0.12.0 et seront supprimés. Héritage whois recherches ont été déplacés à IPWhois.lookup_whois()..
Vous pouvez accéder à cette méthode, j'ai désactivé les mises en garde d'être en mesure de voir la sortie, il y a déconseillé les avertissements qui doivent être prises en compte dans le réel de cas d'utilisation:
Les docs de l'état, IPWhois.lookup_rdap() est maintenant recommandée méthode de recherche. RDAP fournit une bien meilleure structure de données que l'héritage whois de REPOS et de recherches (précédent). RDAP requêtes de permettre l'analyse des informations de contact et des détails pour les utilisateurs, les organisations et les groupes. RDAP également fournit de plus amples informations sur le réseau.
Mais à la suite de la exemple d'utilisation mot à mot, ou l'ajout de la
asn_methods=["whois"])
, stills donne la dépréciation des avertissements si, encore une fois, c'est quelque chose qui doit être adressée dans des cas d'utilisation réels.pip3 install dnspython3
btw 🙂AttributeError: 'IPWhois' object has no attribute 'lookup'
. Au lieu d'utiliseripwhois_obj.lookup_whois()
ouipwhois_obj.lookup_rdap()
vous pouvez utiliser
lookup_whois()
, la recherche a été frappée d'un temps, et supprimé dans les versions plus récentes, même en utilisant des exemples les plus récents, il y a encore des avertissements, de sorte que l'ouverture d'un problème sur github peut être intéressant de suite.OriginalL'auteur Padraic Cunningham