Ihre Anfrage wird bearbeitet.

Bitte warten Sie einen Augenblick ...

 
Hosted with Microsoft Windows 2000 Server on IBM xServer
Formathelper

 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 Textfile
ZIP-Archiv Perl-File
ZIP-Archiv Win32-Exe

Stand : 31/05/2004



Anzeige

© 1998 - 2017 by Andreas Krüger
Zu Favoriten hinzufügen. | Als Startseite festlegen.
Scriptlaufzeit : 4,86 ms. | 48 Nutzer Online