Я не знаю никакой утилиты, но я сделал для меня простой код с помощью Perl:
#!/usr/bin/perl
use Net::Ping;
use POSIX qw/strftime/;
if (-e '/var/run/net_test.pid') {
print "net_test already running.\n";
exit;
} else {
system "touch /var/run/net_test.pid";
}
my $host = "www.google.com";
my $ping = Net::Ping->new('icmp');
my $result = $ping->ping($host,2);
if ($result != 1) {
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is not available...";
$run = `echo $format >> /var/log/virtua_net`;
while ($result != 1) {
$result = $ping->ping($host,2);
sleep 60;
}
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is back...";
$run = `echo $format >> /var/log/virtua_net`;
} else {
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is ok...";
$run = `echo $format >> /var/log/virtua_net`;
}
$ping->close();
system "rm -rf /var/run/net_test.pid" if (-e "/var/run/net_test.pid");
exit;
Что он делает, так это то, что он будет пытаться пинговать Google каждый раз при запуске, а затем будет печатать в файл, если он получил ответ или нет, а также время, чтобы вы могли позже проверить, с какого времени и до какого времени Интернет был недоступен.
Если вам это нравится, я могу сделать небольшие изменения для использования в Windows, и вам нужно было установить ActivePerl, и все.
Единственными необходимыми изменениями являются пути и команды, которые могут отличаться в Windows.