| |
Perl-Script zum Feststellen der ext.Router-Adrese per RIPv1
Um nicht gleich mit einem Netzwerkanalyzer oder über umständliche Aufrufe von Router-Konfiurations-Seiten an die externe Adresse zu kommen, können Sie dieses kleine Perl-Script einsetzen.
Voraussetzung ist jedoch, dass Ihr Router auch entsprechende RIP-Information versendet.
use strict;
use warnings;
use IO::Socket;
use Getopt::Std;
use vars qw($opt_f $opt_t $opt_h $Listener $cap);
getopts("f:t:h:");
if ( defined $opt_h ){&help()}
if ( defined $opt_f ) {
if (! defined $opt_t )
{
print "\nIf use option -f you must use also -t !!\n\n";
&help
}
else
{
if (($opt_t eq "0") or ($opt_t eq "1"))
{
&lisent()
}
else
{
print "\nWrong parameter, see help !!\n\n";
&help
}
}
}
else
{
&lisent()
}
sub help()
{
print <<"EOM" ;
*******************************************************************************
* *
* RIP-Scan v.1.00 (c)2004 by Andreas Ad Krueger *
* *
* Usage : appname [-f filename] [-t 0|1] *
* -f Path and filename for Save *
* -t 0 save only the last adress *
* -t 1 save all scanned adress *
* *
*******************************************************************************
EOM
exit
}
sub lisent()
{
print "*******************************************************************************\n";
print "* *\n";
print "* RIP-Scan v.1.00 (c)2004 by Andreas Ad Krueger *\n";
print "* *\n";
print "*******************************************************************************\n";
print "Now $0 is listen for RIP-Information on Port 520.\n";
if ( defined $opt_f ){print "Router-IP will be save to file : $opt_f\n";}
print "------------------------------------------------------------------------------\n";
if (!($Listener = IO::Socket::INET->new(LocalPort => 520, Proto => "udp")))
{print "Could not open socket...\n"; exit(1);}
while(1) {
my $hst = $Listener->recv($cap,65536,0);
my $ho1 = ord(substr($hst,4,4));
my $ho2 = ord(substr($hst,5,5));
my $ho3 = ord(substr($hst,6,6));
my $ho4 = ord(substr($hst,7,7));
my $mi1 = ord(substr($cap,8,8));
my $mi2 = ord(substr($cap,9,9));
my $mi3 = ord(substr($cap,10,10));
my $mi4 = ord(substr($cap,11,11));
print "Router $ho1.$ho2.$ho3.$ho4 tell ext.adress is : $mi1.$mi2.$mi3.$mi4\n";
if ( defined $opt_f ){&s_file("$mi1.$mi2.$mi3.$mi4\n")}
}
$Listener->close();
}
sub s_file()
{
if ( $opt_t == 0){open(FILE_OUT, ">$opt_f") || die "can't open: $!";}
if ( $opt_t == 1){open(FILE_OUT, ">>$opt_f") || die "can't open: $!";}
print FILE_OUT shift;
close(FILE_OUT);
}
|
Der Aufruf erfolgt dann ganz einfach über die Komandozeile.
Folgende Parameter sind möglich :
-f [Dateiname] wenn die Adresse in einer Datei vorgehalten werden soll.
-t [0|1] wobei 0 nur die letzte IP-Adresse vorhällt, 1 die Adresse fortlaufend Sichert.
|
Textfile
Perl-File
Win32-Exe
Stand : 31/05/2004
|
|
|
10 euro münzen, 2 euro münzen, andreas krueger, andreas krüger, BrowserCap, berlin, berlin wetter, cent münzen, counter, erfurt, euro gedenkmünzen, euro münzen, euro sondermünzen, euro tausch, euro tausch portal, euro umlaufmünzen, frankfurt main, haltestelle, krueger, krüger, mahlsdorf, muenzen, münzen, perl, proxy, rip, router, tausch portal, vatikan münzen, vdsl, zahlungsmittel, öpnv
|
|