အင်တာနက်ပေါ်မှလူကြိုက်များမှုဖြင့်ကွန်ရက်အခြေအနေစောင့်ကြည့်လေ့လာခြင်းသည် ပို. အရေးကြီးလာသည်။ ကွန်ယက်၏တည်ငြိမ်မှုနှင့်တုန့်ပြန်မှုအချိန်ကိုကျွမ်းကျင်စေခြင်းဖြင့်ကွန်ယက်အုပ်ချုပ်ရေးမှူးများသည်ပြ problems နာများကိုဖြေရှင်းနိုင်ရန်နှင့်ကွန်ရက်စွမ်းဆောင်ရည်ကိုအကောင်းဆုံးဖြစ်စေနိုင်သည်။ ဤဆောင်းပါးသည်ကွန်ယက်အခြေအနေစောင့်ကြည့်လေ့လာခြင်းအတွက် PHP နှင့် ICMP protocols များကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြပြီးရည်ညွှန်းသည့်အတွက်ကုဒ်များဥပမာများကိုအသေးစိတ်ဖော်ပြထားသည်။
ICMP (အင်တာနက် Control Message Protocol) သည် TCP / IP protocol မိသားစုတွင် subprotocol ဖြစ်သည်။ ၎င်းကိုအဓိကအားဖြင့်ကွန်ယက်ပြ troubl နာဖြေရှင်းခြင်း, ကွန်ရက်အခြေအနေများ, အသွားအလာထိန်းချုပ်မှုစသည်ဖြင့်အသုံးပြုသည်။ ICMP protocol သည် Target Host ကို "ECHO Request" မက်ဆေ့ခ်ျများပေးပို့ခြင်းနှင့်ကွန်ရက်တည်ငြိမ်မှုနှင့်သတင်းအချက်အလက်များကိုပေးပို့သည်ဖြစ်စေရှာဖွေသည်။
PHP တွင် Socket function ကို သုံး. ကွန်ရက်အခြေအနေစောင့်ကြည့်လေ့လာမှုကိုနားလည်ရန် socket မှတဆင့် acmp တောင်းဆိုမှု packets များကို socket မှတဆင့်ပို့နိုင်သည်။ ဤတွင်ရိုးရိုး PHP Code Perficration:
<?php // မူရင်း socket ကိုဖန်တီးပါ $socket = socket_create(AF_INET, SOCK_RAW, getprotobyname('icmp')); if ($socket === false) { echo 'Socket ကိုဖန်တီးရန်မအောင်မြင်ပါ:' . socket_strerror(socket_last_error()); exit; } // အချိန်ကုန်ထားပါ socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 1, 'usec' => 0); // ping တောင်းဆိုမှု $ target = '' 192.168.0.1 '; $ ဒေတာ = 'ping'; $ icmp_packet = "pingdata"; $ checksum = 0; $ အရှည် = strlen ($ ismp_packet); အတွက် ($ i = 0; $ i <$ အရှည် - 1; $ i + = 2) $ checksum + = ord (substrchpackpacket, $ i, 2)); } $ checksum = ((((((((((($ checksum >> (($ checksum >>) + ($ checksum & 0xFFFFF) +) နှင့် 0xFFFF); $ icmp_packet = "" "" ။ အထုပ် ('n', $ checksum) ။ $ icmp_packet; Socket_sendto ($ socket, $ icmp_packket, strlen ($ icmp_packet), 0, $ ပစ်မှတ် // တုံ့ပြန်မှု $ = '' ''; $ port = 0; Socket_recvfrom ($ socket, $ buf, 1024, 0, 0, $ မှ $ port); ပဲ့တင်သံ '' တုံ့ပြန်မှုကိုလက်ခံရရှိခဲ့သည် - ' $ ကနေ။ '': '' ။ $ port ။ '' ။ Strt_replace ("", '', $ buf); // အနီးကပ် socket socket_close ($ socket); >
အထက်ဖော်ပြပါကုဒ်သည် ICMP တောင်းဆိုမှု packets များကိုမူလ socket တစ်ခု ဖန်တီး. Target Host မှတုန့်ပြန်မှုကိုလက်ခံရရှိသည်။ ကွဲပြားခြားနားသောစောင့်ကြည့်လေ့လာရေးလိုအပ်ချက်များကိုပစ်မှတ်ထားသော IP, ဒေတာအကြောင်းအရာနှင့်အချိန်ကုန်များစသည့် parameters တွေကိုပြုပြင်မွမ်းမံခြင်းဖြင့်မတူညီသောစောင့်ကြည့်လေ့လာရေးလိုအပ်ချက်များကိုမတူညီသောစောင့်ကြည့်လေ့လာရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။
Network Monitoring အတွက်မူရင်း sockets များကိုအသုံးပြုသောအခါအောက်ပါအချက်များကိုဂရုပြုသင့်သည်။
PHP နှင့် ICMP protocols များမှတဆင့်ကွန်ယက်အုပ်ချုပ်ရေးမှူးများသည်ကွန်ရက်အခြေအနေများကိုထိရောက်စွာစောင့်ကြည့်ပြီးကွန်ယက်တည်ငြိမ်မှု, packet ဆုံးရှုံးမှုနှုန်းနှင့်တုံ့ပြန်မှုအချိန်ကိုစစ်ဆေးနိုင်သည်။ ဤဆောင်းပါးသည် RAW Socket ကိုမည်သို့ဖန်တီးရမည်, acmp မက်ဆေ့ခ်ျများကိုပို့ရန်နှင့်ကုဒ်စံနမူနာများမှတဆင့်တုံ့ပြန်မှုများကိုလက်ခံခြင်း,