Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4373[/thread]

eigene IP

Leser: 2


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Strazke
 2005-09-08 18:41
#38472 #38472
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Hallo, wie kann ich meine Eigene IP herausfinden? sollte ich das mit system("ifconfig") machen und die ausgabe durchsuchen oder gibt es da einen einfachen Befehl zu?
esskar
 2005-09-08 19:28
#38473 #38473
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
windows?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl  

use Socket;
use strict;

sub ShowIPLocalInfo
{
my @hostent = gethostbyname(undef) or return 0;

print "name: ",shift @hostent,"\n"; # the name
print "alias: ",shift @hostent,"\n"; # not always available
print "addrtype: ",shift @hostent,"\n";
print "length: ",shift @hostent,"\n";

print "\nOwn Ip-Addresses:\r\n";
print "\t",inet_ntoa($_), "\n" foreach (@hostent);
}

ShowIPLocalInfo();
J-jayz-Z
 2005-09-08 20:18
#38474 #38474
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
@esskar: ifconfig ist doch eher Linux, oder? Unter windows wäre das IMHO ipconfig /all

EDIT: ifconfig zeigt dir auch nur die lokale IP an, das heißt, wenn du über einen Router online gehst, kannst du die Ausgabe auch knicken...\n\n

<!--EDIT|J-jayz-Z|1126196460-->
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
anti
 2005-09-08 22:00
#38475 #38475
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
[quote=J-jayz-Z,08.09.2005, 18:18]ifconfig zeigt dir auch nur die lokale IP an, das heißt, wenn du über einen Router online gehst, kannst du die Ausgabe auch knicken...[/quote]
Nö, warum sollte mein Router irgendetwas mit meiner IP zu tun haben? Das ist vielleicht bei ppp (auch nicht wirklich, da virtuelles Interface) oder bestimmten Mechanismen wie NAT so, gilt aber nicht generell!

greetz, anti
betterworld
 2005-09-09 02:14
#38476 #38476
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Wie oft hatten wir die Frage eigentlich schon?

anti: Naja, kommt immer drauf an, um welche IP-Adresse es geht. Wenn Du einen Router hast, hat der wohl eine IP-Adresse im Internet, die er von dem Provider zugeteilt bekommen hat. Davon weiss aber kein Rechner im LAN. Im LAN haben die naemlich nur lokale Adressen. Aber wahrscheinlich will der OP gerade die nicht wissen.

Die Ausgabe von ifconfig zu parsen ist wohl die einfachste Moeglichkeit, es sei denn, Du findest ein CPAN-Modul. Aber Du musst aufpassen, denn es kann mehrere Netzwerkkarten geben. Wenn Du einen Router verwendest, gibt es keine einfache Moeglichkeit.
betterworld
 2005-09-09 02:41
#38477 #38477
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
OK, ich habe hier die ultimative Loesung zu dem Problem:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# getip.pl
# (c) 2005 Christoph Bussenius
# This Perl script is in the public domain
use strict;
use warnings;

my $route = `ping -nRc1 maila.microsoft.com` or die "hey, pinging problems";
$route =~ s/.*?RR://s;
while ($route =~ m{(\d+\.\d+\.\d+\.\d+)}g) {
my $ip=$1;
next if $ip =~ /^10\./;
next if $ip =~ /^192\.168\./;
next if $ip =~ /^172\.(\d+)\./ and $1 < 32 and $1 >= 16;
next if $ip =~ /^127\./;
print "My IP is $ip\n";
last;
}


edit: hmm. funktioniert nicht auf FreeBSD ohne Router... aber sonst immer, ich hab's getestet ;-)\n\n

<!--EDIT|betterworld|1126219691-->
esskar
 2005-09-09 12:15
#38478 #38478
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
auch unter windows geht da nix
esskar
 2005-09-09 12:32
#38479 #38479
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
so ist der MS ping aufruf
Code: (dl )
ping -n 1 -r 1 maila.microsoft.com
renee
 2005-09-09 13:11
#38480 #38480
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Anstatt fuer jedes OS einen eigenen Ping-Aufruf zu schreiben, sollte man dann doch lieber CPAN:Net::Ping benutzen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2005-09-09 14:14
#38481 #38481
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=renee,09.09.2005, 11:11]Anstatt fuer jedes OS einen eigenen Ping-Aufruf zu schreiben, sollte man dann doch lieber CPAN:Net::Ping benutzen...[/quote]
kann man mit Net::Ping die Route aufzeichen lassen?
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2005-09-08 18:41.