Sys::Hostname oder Net::Domain - Hostname ermitteln
Veröffentlicht von Thomas Fahle am (Permalink)
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
- Perldoc: perlfaq9
- Perldoc: Sys::Hostname
- The 2004 Perl Advent Calendar: Sys::Hostname
- Perldoc: Net::Domain
- CPAN: Sys::Hostname::Long
- Wikipedia: Hostname
- Wikipedia: Domain