perl À» ÀÌ¿ëÇÑ icmp °¡¿ëÀ² ¹× »óÅÂüũ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>JPerl>ICMP_Check



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

  1. ping(1)¸¦ ÀÌ¿ëÇØ¼­ ÇØ´ç ¼­¹öÀÇ ICMP ÀÀ´ä·ü°ú »óŸ¦ üũÇÑ´Ù.
  2. ÀÏÁ¤°£°ÝÀ¸·Î °ªÀ» ÃøÁ¤ÇÑ´ÙÀ½ RRD¿¡ ½×´Â´Ù¸é, ½Ã½ºÅÛ °¡¿ëÀ²°ú »óÅ ȮÀÎÀ» À§ÇÑ Åë°èÀÚ·á·ÎÀÇ È°¿ëÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù.
#!/usr/bin/perl 
 
$host = $ARGV[0]; 
open(FD, "ping -c 3 $host -W 1|"); 
$i = 0; 
$is_reply = 0; 
$avail = 0; 
while($line = <FD>) 
{ 
  if ($line =~ m/^rtt/) 
  { 
    @_ = split /\//, $line; 
    $is_reply = 1; 
    break; 
  } 
  if ($line =~ m/transmitted/) 
  { 
    @_ = split /, +/, $line; 
    @_ = split /%/, $_[2]; 
    $avail = 100 - $_[0]; 
  } 
} 
if ($is_reply == 0) 
{ 
  print "ICMP CHECK FAILURE | avail=$avail"; 
} 
else 
{ 
  print "ICMP CHECK OK | avail=$avail time=$_[5]\n"; 
} 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.