Questo è frutto di una mia curiosità. Ho utilizzato Strawberry Perl su Windows.
Il codice è tutto commentato.
#!/usr/bin/perl -w
use strict;
use warnings;
use LWP::Simple;
use Time::localtime;
use Sys::Hostname;
# Percorso del file di output
my $output = 'output.txt';
# Estraggo l'indirizzo IP connettendomi ad un sito
my $ip = get('https://www.net-addiction.net/ip/ip.php');
$ip = 'Non ho trovato un indirizzo IP!' if !$ip;
# Estraggo la data per il timestamp
my $mese = localtime->mon + 1;
my $giorno = localtime->mday;
my $anno = localtime->year + 1900;
my $ora = localtime->hour;
my $minuti = localtime->min;
my $timestamp = $anno.$mese.$giorno." @ ".$ora.":".$minuti;
# Estraggo l'hostname
my $host = hostname;
# Crea il file definito in precedenza se non esiste e scrive IP e timestamp (in append - senza sovrascrivere il file)
unless (-e $output) { open(FILE, '>', $output); close FILE; }
open(FILE, '>>', $output) || die("Impossibile creare il file!");
print FILE $ip . ' - ' . $timestamp . "\n";
close FILE;
# Scrive a video IP e Hostname
system("cls");
print "Il tuo indirizzo IP e\' ".$ip."\nIl tuo hostname e\' " . $host ."\n";
#Evito che la finestra si chiuda ma non mostro l'output di pause
system ("pause>nul"); |
#!/usr/bin/perl -w
use strict;
use warnings;
use LWP::Simple;
use Time::localtime;
use Sys::Hostname;
# Percorso del file di output
my $output = 'output.txt';
# Estraggo l'indirizzo IP connettendomi ad un sito
my $ip = get('https://www.net-addiction.net/ip/ip.php');
$ip = 'Non ho trovato un indirizzo IP!' if !$ip;
# Estraggo la data per il timestamp
my $mese = localtime->mon + 1;
my $giorno = localtime->mday;
my $anno = localtime->year + 1900;
my $ora = localtime->hour;
my $minuti = localtime->min;
my $timestamp = $anno.$mese.$giorno." @ ".$ora.":".$minuti;
# Estraggo l'hostname
my $host = hostname;
# Crea il file definito in precedenza se non esiste e scrive IP e timestamp (in append - senza sovrascrivere il file)
unless (-e $output) { open(FILE, '>', $output); close FILE; }
open(FILE, '>>', $output) || die("Impossibile creare il file!");
print FILE $ip . ' - ' . $timestamp . "\n";
close FILE;
# Scrive a video IP e Hostname
system("cls");
print "Il tuo indirizzo IP e\' ".$ip."\nIl tuo hostname e\' " . $host ."\n";
#Evito che la finestra si chiuda ma non mostro l'output di pause
system ("pause>nul");
l’output a video è:
Il tuo indirizzo IP e' 166.95.244.117
Il tuo hostname e' Hostname-PC |
Il tuo indirizzo IP e' 166.95.244.117
Il tuo hostname e' Hostname-PC
Mentre il file output.txt contiene:
166.95.244.117 - 20141010 @ 1:26
166.95.244.117 - 20141010 @ 1:26
166.95.244.117 - 20141010 @ 1:27
166.95.244.117 - 20141010 @ 1:27 |
166.95.244.117 - 20141010 @ 1:26
166.95.244.117 - 20141010 @ 1:26
166.95.244.117 - 20141010 @ 1:27
166.95.244.117 - 20141010 @ 1:27
Prossimamente cercherò un modo per inviare questi dati ad un sito web che controlli l’idoneità della richiesta e salvi solo i dati dei computer abilitati.
Nessun commento presente