나는 내 인터넷이 안정적인지, 불안정한지, 인터넷 연결이 없는지 확인할 수 있는 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에는 루트 권한이 필요하며 언젠가는 Google이나 누군가에 의해 차단될 수 있으므로 tcp ping을 고수하세요. 누구도 그것을 막지 않을 것입니다.
use strict
그리고use warnings
Perl의 좋은 습관은use
모듈이 필요해요