Thomas Adamek: IP-Adressen in Hostnamen wandeln (Perl)

Beitrag lesen

Hallo Stefan,

Dann ist es aber auch moeglich, als Aufrufparameter eine Umleitung mit anzugeben. So koennte man die Ausgabe beispielsweise in eine Textdatei umleiten, die das Perl-Script anschliessend auslesen kann. Etwa so:
open (CMD, "|$nslookupcmd $ipaddress > temp.txt");

Danke für den Tip. Ich habe ein Script gefunden, das genau das macht, aber ein wenig anders, beim Testen stellte ich aber fest, daß es das leider nicht tut, es passiert nichts, $name ist immer leer und daher wird immer "unknown" zurückgegeben. Weiß jemand, woran das liegen kann?

Am Prompt wird die Adresse 195.211.211.20 z.B. korrekt in proxy.ipf.net aufgelöst, wenn ich nslookup direkt aufrufe.

Hier das Script ($nslookupcmd zeigt auf /usr/bin/nslookup auf meiner Maschine):

sub resolve_host {

$hostname = $ENV{'REMOTE\_HOST'};  

# Wenn IP-Adresse zurückgeliefert wurde, NSLookup ausführen  
  
if ($hostname =~ /^d\*/)  
{  

open(NS,"$nslookupcmd $hostname |grep Name: |");
  while(<NS>)
  {
   ($dummy,$name)=split(/:    /);
  }
  close (NS);

if ($name eq '')
  {
   $name='unknown';
  }
  else
  {
   chop($name);
  }
  $hostname=$name;
  }
}

Was macht eigentlich das "chop"-Kommando? :-((

Gruß
     Thomas