Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] exec('ping') i REMOTE_ADDR
Forum PHP.pl > Forum > Przedszkole
ownede
Cześć,

Dawno tu nie pisałem, ale mam mały problemik. Napisałem prościutki spryt sprawdzający ping od serwera do klienta. Niestety, jeśli podam konkretny adres, załózmy onet.pl to pinguje i zwraca wynik, niestety jeśli trafi na zwykłą osobę traci 100% pakietów. Jak to rozwiązać?

Skrypt. Jeśli zwróci mniej niż 5 znaków to jest loss.
  1. <?php
  2. $cmd = "/bin/ping -c 5 ".$_SERVER['REMOTE_ADDR'];
  3. $ping = exec($cmd);
  4.  
  5. if(strlen($ping) < 5)
  6. {
  7. echo "? ms";
  8. }
  9. else
  10. {
  11. preg_match("/rtt min\/avg\/max\/mdev = (.*)\/(.*)\/(.*)\/(.*) ms/", $ping, $matches);
  12. echo $matches[1]." ms";
  13. }
  14. ?>

wNogachSpisz
Nic nie zrobisz, sieć użytkownika (a właściwie jego firewall) wycina ICMP i już..
Możesz ewentualnie walnąć traceroute..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.