Oliver Lehmann: Systemkommando wird nicht ausgefuehrt ?!

Beitrag lesen

Hi,

ich habe mir folgendes kleines Script geschrieben. Bis auf den Portscan funzt auch alles. Beim ausfuehren vom Portscan, erscheint das das document keinen Inhalt hat. ich habe mir auch schon den Befehl  ausdrucken lassen.

Wenn ich das Script auf der Kommandozeile ausfuehre, erscheint das was erscheinen soll ;-)

$ ./traceroute.pl
Content-type:text/plain

Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
Interesting ports on router.home1.de (192.168.168.1):
(The 1 port scanned but not shown below is in state: closed)
Port       State       Service
21/tcp     open        ftp
22/tcp     open        ssh
23/tcp     open        telnet

Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
$

nur komischerweise im browser nix. hier mal das script:

#!/usr/bin/perl
@querys = split(/&/, $ENV{'QUERY_STRING'});
foreach $query (@querys) {
   ($name, $value) = split(/=/, $query);
   $FORM{$name} = $value;
}
$IP="$FORM{'URL'}";
$start="$FORM{'start'}";
$ende="$FORM{'ende'}";
print "Content-type:text/plain\n\n";
if($IP =~ /((1[0-9][0-9])(22[0-3])(2[0-1][0-9])([0-9][0-9]?)).(((1[0-9][0-9])(25[0-5])(2[0-4][0-9])(1[0-9]{0-1})([0-9][0-9]{0,1})).){2}((1[0-9][0-9])(25[0-4])(2[0-4][0-9])([0-9][0-9]{0,1}))$/) {
  $trace = "$FORM{'trace'}";
  if    ($trace eq "Traceroute") {print traceroute $IP}
  elsif ($trace eq "Ping")       {print ping -c 4 $IP}
  elsif ($trace eq "portscan")   {print nmap -p$start-$ende $IP\n}
  elsif ($trace eq "finger")     {print finger \@IP}
} else {
  print "Invalid IP adress ;-)))"
}

in der apache_error_log steht auch nix diesbezuegliche drinn. Einer ne Idee? *g*

MfG Olli