2016-04-15 10 views
0

Ich möchte die FQDN aus dem Hostnamen abrufen. Ich bin Ausführung dieses Befehls auf einem Linux-Server: python -c "import sys, socket; sys.stdout.write (socket.gethostbyaddr ('') [0])" THis Befehl funktioniert gut und gibt die FQDN aus der Hostname. Aber für einige andere Server, gibt es diesen Fehler: Traceback (jüngste Aufforderung zuletzt): Datei "" Linie 1 in socket.herror: [Errno 1] Unbekannter Hostsocket.gethostbyaddr gibt unbekannten Host zurück

Wenn ich tun "host" Linux-Befehl, bekomme ich die FQDN der ausgefallenen Host-Namen mit Python-Befehl.

Wer hat eine Lösung für diese PLZ?

+0

Ich habe 3 IP auf der gleichen Schnittstelle und bekam 5 Service. Sie möchten den Hostnamen erhalten, aber welche Schnittstelle (oder Klonschnittstelle) ist aktuell? Definieren Sie eine IP-Adresse, bevor Sie den Hostnamen erhalten. Verwenden Sie 'netifaces' Modul ... – dsgdfg

Antwort

0

Difficulty using Python's socket.gethostbyaddr() deckt dies schön.

Das Wesentliche ist, dass Sie überprüfen müssen, gibt es einen PTR-Datensatz. Wenn nicht, müssen Sie es über eine try, except-Klausel behandeln.

Sehen Sie sich speziell das Teil an, das einen gültigen und ungültigen PTR-Datensatz vergleicht.

+0

Meine Eingabe war keine IP-Adresse, aber es war der Hostname ohne die Domäne. Nur der Servername. – user3652134