Sys::Hostname oder Net::Domain - Hostname ermitteln

| | Kommentare (2)

Der Hostname ist die eindeutige Bezeichnung eines Rechners in einem Netzwerk. Meist wird ein Fully Qualified Domain Name (FQDN) als Hostname verwendet. Bei Rechnern in einem LAN wird allerdings manchmal auch der Domain-Teil (hostdomain) weggelassen und nur der lokale Part (hostname) verwendet.

Die Ermittlung des Hostnamens ist nicht immer einfach, daher verwenden die beiden nachfolgend vorgestellen Module intern zahlreiche Methoden, um den Hostnamen herauszufinden.

 

Sys::Hostname

Sys::Hostname von David Sundstrom, seit Perl 5.6 Bestandteil der Standard-Distribution, stellt eine Funktion bereit: hostname().

#!/usr/bin/perl
use strict;
use warnings;

use Sys::Hostname;

print hostname(), "\n";

Das Programm liefert z.B. folgende Ausgabe:

server.example.net

oder auch einfach

server

 

Net::Domain

Net::Domain, seit Perl 5.73 Bestandteil der Standard-Distribution, von Graham Barr verwendet intern deutlich mehr Methoden als Sys::Hostname, um den FQDN des aktuellen Hosts zu ermittlen. Weiterhin werden auch Funktionen bereitgestellt, um den lokalen bzw. Domain-Teil zu ermitteln.

  • hostfqdn (): liefert den FQDN des aktuellen Hosts
  • domainname (): Ein Alias für hostfqdn
  • hostname (): liefert den lokalen Teil des FQDN
  • hostdomain (): liefert den Domain-Teil des FQDN
#!/usr/bin/perl
use strict;
use warnings;

use Net::Domain qw(hostname hostfqdn hostdomain);

print "Host FQDN:  ", hostfqdn , "\n";
print "Hostname:   ", hostname , "\n";
print "Hostdomain: ", hostdomain , "\n";

Das Programm liefert z.B. folgende Ausgabe:

Host FQDN:  server.example.net
Hostname:   server
Hostdomain: example.net

 

Siehe auch

 

2 Kommentare

Leider ist zumindest Net::Domain::hostfqdn ziemlich kaputt. Siehe dazu auch RT#60729 (https://rt.cpan.org/Ticket/Display.html?id=60729).

Sys::Hostname::FQDN scheint eine brauchbare Alternative zu sein.

Danke für den Hinweis. Ich schaue mir Sys::Hostname::FQDN gerne ein Mal an.

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 1.10.12 12:00.

Module::CoreList - welche Module werden eigentlich mit Perl ausgeliefert? ist der vorherige Eintrag in diesem Blog.

Algorithm::CheckDigits - Überprüfung von Nummerncodes ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.