Potresti testare la tua connessione end-to-end con questo semplice script basato sull'output ping
:
#!/bin/sh
# $Id: coupure.sh,v 1.1 2012/09/05 13:11:10 dan Exp dan $
_host_exist='host $1'
expr "${_host_exist}" : '.*address' >/dev/null || {
echo ${_host_exist} >&2
exit 1
}
ping $1 2>/dev/null |
perl -e '
use strict ;
use warnings ;
my $started = 0 ;
my $start = 0 ;
my $end = 0 ;
my $count = 0 ;
my $was_down = -1 ;
my $last_up = -1 ;
my $last_hole = 0 ;
my $now = 0 ;
my $x = -1 ;
my $hour = -1 ;
my $min = -1 ;
my $sec = -1 ;
my $hole = 0 ;
my $delta = 0 ;
my $time_run = 0 ;
my $sum_hole = 0 ;
my $avg_hole = 0 ;
my $sum_delta = 0 ;
my $avg_delta = 0 ;
sub catch_int {
$end = time () ;
$time_run = $end - $start ;
printf ("\ntime run = %14d s,\tdrop count = %8d", $time_run, $count) ;
if ($time_run) {
printf (",\t %8.2f / d\n", $count * 86400 / $time_run) ;
} else {
printf ("\n") ;
}
if ($count) {
$avg_hole = $sum_hole / $count ;
printf ("avg drop time = %8.2f s\n", $avg_hole) ;
if ($count > 1) {
$avg_delta = $sum_delta / ($count - 1);
printf ("avg int. time = %8.2f s\n", $avg_delta) ;
}
}
exit ;
}
$start = time () ;
$SIG{INT} = \&catch_int ;
while () {
# printf ("%s", $_) ;
if (! $started) {
# printf ("%s", $_) ;
if ($_ =~ /PING/ ) { next ; }
if ($_ =~ /bytes/) {
$was_down = 0 ;
} else {
$was_down = 1 ;
}
$started = 1 ;
} else {
if ($_ =~ /bytes.*icmp_seq=/) {
#-------+-------+-------+-------+-------+-------+-------+-------+
# target is up
# printf ("!") ;
if ($was_down == 1) {
$count ++ ;
printf ("%4d\t", $count) ;
($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($last_up) ;
printf ("%02d:%02d:%02d\t", $hour, $min, $sec) ;
$now = time () - 1 ;
($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($now) ;
printf ("-\t%02d:%02d:%02d\t", $hour, $min, $sec) ;
$was_down = 0 ;
$hole = $now - $last_up ;
$sum_hole += $hole ;
printf ("= %4d s", $hole) ;
if ($last_hole) {
$delta = $last_up - $last_hole ;
$sum_delta += $delta ;
printf (" + %6d s\n", $delta ) ;
} else {
printf ("\n") ;
}
$last_hole = $last_up ;
}
$last_up = time() ;
} else {
#-------+-------+-------+-------+-------+-------+-------+-------+
# target is down
if ($was_down == 0 ) {
$was_down = 1 ;
}
}
}
}'
Copia questo in coupure.sh
sul tuo client ftp,
digita make coupure
ed eseguilo:
./coupure target_ftp_server