veja se isso serve :
****************************************************************************
**********************************************************
Lista de Discuss�o Rede Wan - http://www.networkdesigners.com.br
Colegas:
Parece que algu�m da lista estava solicitando o c�digo do ping. Bom
eu encontrei um sample em Perl que segue abaixo.
Gilson Cesar
CheckLink v1.1
If you take care of an Internet Service Provider (ISP)
technically, I can say this is a must have for you. This will notify
your users
whenever your internet connection is down.
Copy and paste the following code:
#!/usr/bin/perl
##########################################################################
# CheckLink v1.1 (980307) - A must have for any kind of
Internet Provider
# Author: Daniel Lafraia ([EMAIL PROTECTED])
# Get other scripts on http://www.iron.com.br/~lafraia/scripts
#
# About:
# CheckLink, checks your Internet link! Wow! :) If you're a
System Admin
# and you're tired of user's calls when you lose your Internet
connection?
# Here is your solution! You should specify an IP to be
checked, if
# it's not answering, CheckLink put a message on your
index.html with
# a custom message (and sends an e-mail to you!). When your
Internet
# conn. it good again, CheckLink removes the message from your
index.html
# (and sends an e-mail to you!). Easy, simple and useful!
#
# (Technically) About:
# CheckLink was developed using Perl5, I guess you won't have
troubles
# when installing it on any lower or grater versions. You
should put a
# mark on your index.html (or any other file you want to be
modified)
# called (case sensitive). THIS MARK MUST BE IN ONE LINE, DO
# NOT PUT OTHER THINGS ON THE SAME LINE OF .
#
# Versions:
# 1.0 - Unknown day of Feb'98 - First Version
# 1.1 - March 7th 1998 - E-mail support added
#
# Installing:
# CheckLink must be on the crontab. Type crontab -e to edit
it.
# I use the following thing here:
# 0,5,10,15,20,25,30,35,40,45,50,55 * * * *
/home/httpd/important/checklink.pl
# man crontab would also help you ;)
#
# Be sure to adjust your configuration.
# Questions? Suggestions? Code? Everything is welcome! E-Mail
me!
##########################################################################
# Settings:
$admin = "lafraia\@iron.com.br";
$IPtocheck = "200.255.253.241";
$CustomMessageIfFails = "Internet Connection Lost! Our
backbone is trying to fix it!";
$IndexPage = "/home/httpd/html/index.html";
$rm = "/bin/rm";
$mv = "/bin/mv";
$sendmail = "/usr/sbin/sendmail";
$ping = "/bin/ping";
# Uncomment it if your index page is a CGI and must be chmoded
to 755
#$ItsCGI = 1;
# Script starts here
if (! -e $mv) { die "Cannot find $mv\n"; }
if (! -e $rm) { die "Cannot find $rm\n"; }
if (! -e $ping) { die "Cannot find $ping\n"; }
if (! -e $sendmail) { die "Cannot find $sendmail\n"; }
if (! -e $IndexPage) { die "Cannot find $IndexPage\n"; }
open (SOURCE, $IndexPage);
@file=<SOURCE>;
close (SOURCE);
foreach (@file) {
if (substr($_,0,11) eq "<CheckLink>") { $fileok = 1; last; }
}
if (! $fileok) { die "Cannot find <CheckLink> on
$IndexPage\n"; }
$version = "1.1";
$date = `/bin/date`;
chop($date);
@checkit = `ping -c 5 $IPtocheck`;
if ($#checkit < 5 && ! -e "/tmp/checklinkflag") {
$motivo = "$CustomMessageIfFails";
$do = 1;
$dotouch = 1;
$email = 1;
$ok = 1;
}
if ($#checkit >= 6 && -e "/tmp/checklinkflag") {
$motivo = "";
$do = 1;
$email = 1;
$ok = 2;
system("$rm /tmp/checklinkflag");
}
if ($do) {
open (OUT, ">/tmp/checklink.$$");
foreach (@file) {
if (substr($_,0,11) eq "<CheckLink>") {
print OUT "<CheckLink>$motivo\n";
next;
}
print OUT $_;
}
close (OUT);
if ($dotouch) {
open (TOUCH, ">/tmp/checklinkflag");
close(TOUCH);
}
system "$mv $IndexPage ${IndexPage}.old";
system "$mv /tmp/checklink.$$ $IndexPage";
chmod 0755, "$IndexPage" if $ItsCGI;
if ($email) {
if ($ok == 1) {
$message = "Dear Admin,\n\n\tI'm here to report you that
your Internet link is NOT WORKING.\n\tIt was detected on ${date}.\n";
$message = "$message\tI'll keep checking it, when it
estabilishes I'll send another mail.\n\nPing
Status:\n------------\n@checkit-----\n\nCheckLink v$version - By Daniel
Lafraia (lafraia\@iron.com.br)\n";
} else {
$message = "Dear Admin,\n\n\tI'm here to report you that
your Internet link is now OK.\n\tIt was detected on ${date}.\n\tI'll
stay turned if it stops again.\n\n\n-----\nCheckLink v$version - By
Daniel Lafraia (lafraia\@iron.com.br)\n";
}
open (MAIL, "|$sendmail $admin") || die "CheckLink: Can't
open Sendmail!";
print MAIL "From: $admin\n";
print MAIL "To: $admin\n";
print MAIL "Subject: CheckLink Report\n\n";
print MAIL $message;
close (MAIL);
}
}
exit;
# EOF
______________________________________________________________________
> ----- Mensagem original -----
> De: Andre [SMTP:[EMAIL PROTECTED]]
> Enviada em: Quarta-feira, 20 de Setembro de 2000 10:28
> Para: Lista de Discuss�o Rede Wan
> Assunto: [redewan] PING
>
> Lista de Discuss�o Rede Wan - http://www.networkdesigners.com.br
>
> Senhores, estou precisando saber se alguem conhece uma maneira de
> "dissecar", abrir o c�digo do PING.
> Preciso disso para um trabalho de Universidade se alguem puder me ajudar
> ficarei grato
>
> Andre Campos
>
> _____
>
>
|