PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl: Eigene Internet IP lesen



manny
20-03-2003, 21:49
hi,

mein rechner ist im lokal netzwerk und im internet.
wie kann ich mit perl meine internet-ip auslesen.
es soll kein cgi-sript sein.

mein script logme.pl funzt net:
---------------------------
#!/usr/bin/perl -w
print $ENV{'REMOTE_ADDR'};
---------------------------

es gibt diese meldung zurück:

Use of uninitialized value in print at logme.pl line 2

cu

Berufspenner
21-03-2003, 10:18
Hi

Mehr fällt mir grade nicht ein
#!/usr/bin/perl -w

use Socket;
use Net::hostent;
$hostname = "" ;
$h = gethostbyname("$hostname");
printf "Name: %s, Adress: %s\n",
$h->name, inet_ntoa($h->addr); Es ist leider nur möglich, anhand eines Hostnamen die IP zu ermitteln. Nur leider gibt er, wenn du den Rechnernamen eingibst nur die lokale IP aus. Vieleicht hilft es dir ja doch.

$ENV{'REMOTE_ADDR'}; sieht mir eher nach php aus, bzw. nach der ausgabe von
<?php phpinfo(); ?> Cu
André

phate
21-03-2003, 21:12
aloha mitnander,

warum so kompliziert?


#!/usr/bin/perl

use strict;

my $EXT_IF = "ppp0";
my $ext_ip;

open IFCFG, "/sbin/ifconfig $EXT_IF|";
while (<IFCFG>) {
$ext_ip = $1 if m/inet Adresse:([0-9.]+) /;
}
close IFCFG;

print $ext_ip . "\n";
Das externe Interface $EXT_IF ist entsprechend anzupassen und die IP findet sich dann in $ext_ip wieder.
Oder habe ich da was falsch verstanden?

manny
21-03-2003, 23:33
phate !!!!

ich liebe dich ! du bist mein erlöser ! ich danke dir mit herzen ! *phateknuddel*
ich war schon am verzweifeln :D

der is für dich:
http://ck.hilger-online.com/img/bussi000.gif


c-ya all :D
ps: du kommst jetzt in meine buddy-liste :D