Perl 檢查網路連線 30 秒是否穩定,不穩定且無網路連接

Perl 檢查網路連線 30 秒是否穩定,不穩定且無網路連接

我想要 perl 中的腳本來檢查我的網路是否穩定、不穩定或沒有網路連線。

我用網路::平腳本但回復是“ You are connected to the internet.”,如果穩定、不穩定或沒有互聯網連接,則 30 秒內不檢查互聯網連接。只需回覆“ You are connected to the internet.”即可。但事實上我的網路連線不穩定。每 3 秒連接-斷開一次。

這是腳本

$ping = Net::Ping->new("icmp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
}
else {
    print "You are not connected to the internet.\n";
}
$ping->close();

我想用作wget我的測試器,但我不知道如何在 perl 中編寫它的腳本。我的專案是用perl寫的。

答案1

你的腳本看起來非常接近工作。這是我經過一些調整後得到的結果:

#!/usr/bin/perl

use warnings;
use strict;
use Net::Ping;

my $ping = Net::Ping->new("tcp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
} else {
    print "You are not connected to the internet.\n";
}
$ping->close();

筆記:

  • icmp ping 需要 root 權限,有一天可能會被 google 或其他人阻止,所以請堅持使用 tcp ping。沒有人會阻止這一點。
  • use strictuse warnings養成良好的 Perl 習慣
  • 你需要use模組

相關內容