Posts mit dem Label Nachgebaut werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Nachgebaut werden angezeigt. Alle Posts anzeigen

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.

What´s that Site running? Die Antwort auf diese Frage hat Netcraft groß gemcht. Dabei reichen ein paar Zeilen in Phython aus und schon weiss man, welcher Server hinter einer Site werkelt:


>>> import urllib2
>>> info = urllib2.urlopen("http://www.rentaseo.de")
>>> print info.info()


Diese konkrete Anfrage liefert folgende Infos:


Date: Sun, 01 Jun 2008 22:18:58 GMT
Server: Apache/2.0.54 (Linux/SUSE)
X-Powered-By: PHP/4.4.0
Set-Cookie: PHPSESSID=d05d22804f9f9a347b494a0cf1ad3594; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Pingback: http://www.rentaseo.de/xmlrpc.php
Content-Type: text/html; charset=UTF-8
Connection: close