PHP | 웹 PHP 핑체크하기
페이지 정보
작성자 관리자 작성일18-01-12 16:49 조회2,275회 댓글0건관련링크
본문
< ? php
//ob_start('ob_logstdout', 2);
//ini_set('error_reporting', E_ALL);
//ini_set('display_errors', 'Off');
//ini_set('log_errors', 'Off');
//ini_set('implicit_flush',true);
function icmpChecksum($data){
if (strlen($data)%2)
$data .= "\x00";
$bit = unpack('n*', $data);
$sum = array_sum($bit);
while ($sum >> 16)
$sum = ($sum >> 16) + ($sum & 0xffff);
return pack('n*', ~$sum);
}
function ipc($ip,$title,$msgok,$msgno){
ob_implicit_flush(true);
echo "<div class=\"basictab\">
<li>".$title."</li><li>".$ip."</li><li id='".$title."'><img src='loader.gif' height='20'></li>";
ob_end_flush();
$type = "\x08";
$code = "\x00";
$checksum = "\x00\x00";
$identifier = "\x00\x00";
$seqNumber = "\x00\x00";
$data = "Scarface";
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
$checksum = icmpChecksum($package); // Calculate the checksum
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
$socket = socket_create(AF_INET, SOCK_RAW, 1);
socket_set_option($socket,
SOL_SOCKET, // socket level
SO_RCVTIMEO, // timeout option
array(
"sec"=>3, // Timeout in seconds
"usec"=>0// I assume timeout in microseconds
));
socket_connect($socket, $ip, null);
$startTime = microtime(true);
socket_send($socket, $package, strLen($package), 0);
if (@socket_read($socket, 255)) {
//echo "<script>".$title.".style.display = 'none';</script>";
//echo "<script>document.getElementById('".$title."').innerHTML = '".$msgok."';</script>";
echo "<script>";
echo "document.getElementById('".$title."').innerHTML ='".$msgok."';";
echo "document.getElementById('".$title."').style.color ='#0066FF';";
echo "</script>";
} else {
echo "<script>";
echo "document.getElementById('".$title."').innerHTML ='".$msgno."';";
echo "document.getElementById('".$title."').style.color ='#FF00CC';";
echo "</script>";
}
echo "</div>";
socket_close($socket);
}
?>
<html>
<head>
<title></title>
</head>
<style>
<!--
.basictab{
padding: 0px 0;
margin-left: 0;
font: bold 17px;
list-style-type: none;
text-align: left; /*set to left, center, or right to align the menu as desired*/
}
.basictab li{
display: inline;
margin-right: 2px;
margin: 0; /* 간격 */
padding-bottom: 0;
padding-top: 2px;
border:0px solid #BFBFBF;
border-right-width : 0px;
border-left-width : 0px;
border-bottom-width : 0px;
width:140;
}
.basictabsp{
border:0px solid #cccc;
padding: 0px 0;
margin-left: 0;
font: bold 12px;
text-align: left;
margin-top : 5px;
}
-->
</style>
<body>
<?php
echo ipc("111.210.198.164","A Server","정상","비정상");
echo ipc("111.210.198.188","B Server","정상","비정상");
? >
</body>
</html>
//ob_start('ob_logstdout', 2);
//ini_set('error_reporting', E_ALL);
//ini_set('display_errors', 'Off');
//ini_set('log_errors', 'Off');
//ini_set('implicit_flush',true);
function icmpChecksum($data){
if (strlen($data)%2)
$data .= "\x00";
$bit = unpack('n*', $data);
$sum = array_sum($bit);
while ($sum >> 16)
$sum = ($sum >> 16) + ($sum & 0xffff);
return pack('n*', ~$sum);
}
function ipc($ip,$title,$msgok,$msgno){
ob_implicit_flush(true);
echo "<div class=\"basictab\">
<li>".$title."</li><li>".$ip."</li><li id='".$title."'><img src='loader.gif' height='20'></li>";
ob_end_flush();
$type = "\x08";
$code = "\x00";
$checksum = "\x00\x00";
$identifier = "\x00\x00";
$seqNumber = "\x00\x00";
$data = "Scarface";
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
$checksum = icmpChecksum($package); // Calculate the checksum
$package = $type.$code.$checksum.$identifier.$seqNumber.$data;
$socket = socket_create(AF_INET, SOCK_RAW, 1);
socket_set_option($socket,
SOL_SOCKET, // socket level
SO_RCVTIMEO, // timeout option
array(
"sec"=>3, // Timeout in seconds
"usec"=>0// I assume timeout in microseconds
));
socket_connect($socket, $ip, null);
$startTime = microtime(true);
socket_send($socket, $package, strLen($package), 0);
if (@socket_read($socket, 255)) {
//echo "<script>".$title.".style.display = 'none';</script>";
//echo "<script>document.getElementById('".$title."').innerHTML = '".$msgok."';</script>";
echo "<script>";
echo "document.getElementById('".$title."').innerHTML ='".$msgok."';";
echo "document.getElementById('".$title."').style.color ='#0066FF';";
echo "</script>";
} else {
echo "<script>";
echo "document.getElementById('".$title."').innerHTML ='".$msgno."';";
echo "document.getElementById('".$title."').style.color ='#FF00CC';";
echo "</script>";
}
echo "</div>";
socket_close($socket);
}
?>
<html>
<head>
<title></title>
</head>
<style>
<!--
.basictab{
padding: 0px 0;
margin-left: 0;
font: bold 17px;
list-style-type: none;
text-align: left; /*set to left, center, or right to align the menu as desired*/
}
.basictab li{
display: inline;
margin-right: 2px;
margin: 0; /* 간격 */
padding-bottom: 0;
padding-top: 2px;
border:0px solid #BFBFBF;
border-right-width : 0px;
border-left-width : 0px;
border-bottom-width : 0px;
width:140;
}
.basictabsp{
border:0px solid #cccc;
padding: 0px 0;
margin-left: 0;
font: bold 12px;
text-align: left;
margin-top : 5px;
}
-->
</style>
<body>
<?php
echo ipc("111.210.198.164","A Server","정상","비정상");
echo ipc("111.210.198.188","B Server","정상","비정상");
? >
</body>
</html>
[주소복사] https://www.goodsweb.kr/?u=D41NAV0S
SNS 알리기
핀터레스트
텔레그램로
블로그로
페이스북
트위터
카카오스토리
카톡 공유
관련 블로그
로딩중