Avatar billede fiskerendk Nybegynder
20. august 2002 - 17:03 Der er 15 kommentarer og
1 løsning

Ping Script

$noc_ping = fsockopen("192.168.1.1", 1080, $errno, $errstr, 30);
if(!$noc_ping) { 
  $noc_ping = "offline"; 
} else { 
  fclose($noc_ping); 
  $noc_ping = "online"; 
}

Hvordan for jeg denne kode til bar at pinge hele serveren og ik bar den angivne port?
Avatar billede fiskerendk Nybegynder
20. august 2002 - 17:04 #1
ups glemte <? og ?>
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 17:49 #2
har et ping script liggende.. her er det.


<?PHP

// Du kan selv angive hvilken IP der skal pinges, for at gøre det skal du bare skrive IP'en mellem de to ""
//
// Du kan også bruge et domæne navn eks.: groundweb.dk
// Det skal være uden http://
//
// Hvis du vil pinge personen der besøger din hjemmeside, så skriver du ip mellem de to ""
$ip_dns = "";

// Angiv hvor mange gang du vil pinge den/det angivne ip/domænenavn
// Jo højere en værdi, desto længere tager det at loade din egen hjemmeside
//
// Jeg bruger værdien 3, den mindste værdi der kan bruges er 1
$ping_count = 3;

// Tjekker om det angivet at den besøgendes computer skal pinges
if(($ip_dns == "ip") || ($ip_dns == "") || ($ip_dns == 0)) {
  // Sæt $ip_dns til at være den besøgendes IP
  $ip_dns = getenv("REMOTE_ADDR");
}

// Ping den angivne IP, og læg resultaterne i en array
exec("ping ".$ip_dns." -n ".$ping_count, $ping_results);
$rows = count($ping_results);

// Læg brugbare resultater i en variabel
$ping = $ping_results[$rows-1];

// Rengør resultaterne
$ping = ereg_replace("Minimum =","",$ping);
$ping = ereg_replace("Maximum =","",$ping);
$ping = ereg_replace("Average =","",$ping);
$ping = ereg_replace(" ","",$ping);

// Del resultaterne op, og læg dem i en array
$ping_array = explode(",",$ping);

// Angiv forskellige pingtider
$ping_min = $ping_array[0]; // Den mindste pingtid
$ping_max = $ping_array[1]; // Den højeste pingtid
$ping_avg = $ping_array[2]; // Den gennemsnitlige pingtid

echo "$ping_min<br>";
echo "$ping_max<br>";
echo "$ping_avg<br>";
?>
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 17:53 #3
bare sæt
$ip_dns = "$_SERVER["LOCAL_ADDR"]";
så finder den din servers ip adresse og pinger den i forhold til brugeren
Avatar billede fiskerendk Nybegynder
20. august 2002 - 17:55 #4
det er ik på den måde ping jeg skal bruge sorry men skal bruge den så den tjekker om den er Online el Offline!
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 17:59 #5
$ip = "";
$port = 80;
$conn = fsockopen($ip, $port);
if($conn){
}
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 18:00 #6
kan det bruges?
Avatar billede fiskerendk Nybegynder
20. august 2002 - 18:19 #7
Det jeg skal ha det til er at registrere om en server er tændt el slukket ikke via servicene men via selve serverens status.. i øjeblikket er det sat til at tjekke på en service men det skal det ik det skal tjekke selve serveren!

det her script tjekker om port 1080 (Proxy) er åben(aktiv) på 192.168.1.1
den skal bar tjekke om ip = 192.168.1.1 svare og så skrive Online
hvis ikke skal den skrive Offline



<?
$noc_ping = fsockopen("192.168.1.1", 1080, $errno, $errstr, 30);
if(!$noc_ping) { 
  $noc_ping = "offline"; 
} else { 
  fclose($noc_ping); 
  $noc_ping = "online"; 
}
?>
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 18:25 #8
det her virker på min maskine i hvert fald

<?
$ip = "";
$conn = fsockopen($ip);
if($conn){
echo "Online";
} else {
echo "Offline";
}
?>
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 18:29 #9
Sorry... det virker slet ikke. :-(

Tror jeg roder lidt for meget.. sorry
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 18:39 #10
Jeg har set på nogle andre scripts som checker om serveren er nede osv...
Af hvad jeg har set kan man desværre ikke checke på andre måder end at checke en port. Og hvis du checker port 80,21 og 3306 har du en status på webserver, ftp og mysql.
Avatar billede sylvesternielsen Nybegynder
20. august 2002 - 18:55 #11
lavede lige et script som checker dem..


<?


function lookup($hport,$who){

            $fp = fsockopen($who, $hport, &$errno, &$errstr, 4);
            if (!$fp){
                return true;
            } else {
              return false;
                fclose($fp);
            }
            return $data;
        }

// checker hvert enkel forspørgsel
$serv1 = lookup("3306","www.cbox.dk");
$serv2 = lookup("80","www.cbox.dk");
$serv3 = lookup("21","www.cbox.dk");

// checker om alle services kører
if ((!$serv1) && (!$serv2) && (!$serv3)){
echo "online";
} else {
echo "offline";
}
?>
Avatar billede fiskerendk Nybegynder
20. august 2002 - 19:49 #12
jamen har jo scriptet som tjekker mine services så det er godt nok.. men der må da være en måde at lave et script som laver en ping på en given ip og tjekker om den er åben.. ved hjælp af ping på TCMP port 0? som er ping porten?
Avatar billede sylvesternielsen Nybegynder
21. august 2002 - 12:57 #13
Jeg kan nu ikke se nogen løsning på det desværre....
Avatar billede fiskerendk Nybegynder
21. august 2002 - 14:13 #14
Lukker men tak for hjælpen dj_saw!
Avatar billede tumben Novice
25. oktober 2002 - 00:33 #15
>>fiskerendk
..er du kommet det nærmere ???, for jeg har også hårdt brug for netop det...så...
Avatar billede fixbabe Nybegynder
30. december 2006 - 11:23 #16
hotserv jeg kan ikke få dit ping script til at virke, kan du hjælpe?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester