Wir kennen alle die recht gerne genutzten Dienste nslookup und whois. Unix / Linux Nutzer verwenden dies beiden Werkzeuge direkt in der Shell, weniger erfahrene Webmaster besuchen gerne entsprechende Online Angebote. Dabei ist nichts dabei, via Python einen solchen Service bereit zu stellen.

Python bietet mehrere Lösungsansätze. Da ich davon ausgehe, dass ein solcher Service auf einem Unix / Linux Server laufen wird, kann man einfach die beiden Kommandozeilen Werkzeuge direkt ansprechen. Die Grundstruktur dafür ist wirklich simpel:

Zuerst der Beispielcode für eine Whois-Abfrage ...


>>> import os
>>> data = os.popen("whois rentaseo.de").read()
>>> print data


... das im konkreten Fall zu folgender Ausgabe (Auszug) führt:


...

Domain: rentaseo.de
Domain-Ace: rentaseo.de
Nserver: server1-ns1.udagdns.net
Nserver: server1-ns2.udagdns.net
Nserver: server1-ns3.udagdns.net
Status: connect
Changed: 2006-11-29T22:27:49+01:00

[Holder]
Type: PERSON
Name: Matthias Suess
Address: Brunnleite 2
Pcode: 92421
City: Schwandorf
Country: DE
Changed: 2006-11-29T22:27:48+01:00

...


Wenn man sich die Arbeit macht, die Augabe der einzelnen Whois Server zu analysieren kann man deren Response auch noch durch einen Parser schicken und die Ergebnisausgabe noch richtig schön gestalten.

Eben so einfach gestaltet sich die Abfrage nach der IP Adresse einer Domain ...


>>> import os
>>> data = os.popen("nslookup rentaseo.de").read()
>>> print data


... das folgendes Ergebnis liefert:


Server: 193.254.160.1
Address: 193.254.160.1#53

Non-authoritative answer:
Name: rentaseo.de
Address: 85.214.39.237


Die Domain rentaseo.de ist unter der IP 85.214.39.237 ansprechbar.