Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pingowanie ip:port
modern-web
post
Post #1





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Witam wszystkich!
Mam pewien problem związany ze skryptem pingowania danego adresu IP oraz portu.
Napisałem taki oto fragment:
  1. $ping = system('ping '.$ip.':80 -t -l 80 -n 1 -w 1000');

ale niestety gdy wgram go na serwer z systemem operacyjnym Linux, skrypt nie działa. Nie zwraca nawet błędu...

Wie ktoś może dlaczego na serwerach z systemem operacyjnym Windows działa, natomiast Linux nie ;/?
Domyślam się, że to coś z system() ale wolę poruszyć ten temat z Wami (IMG:style_emoticons/default/smile.gif)

Pozdrawiam!

P.S.
Dodam jeszcze, że na localhost zwraca mi 0ms - więc niby działa :0

Ten post edytował modern-web 26.11.2010, 18:38:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kiler129
post
Post #2





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Używanie system() do tego to jak armata na wróbla.
Zapoznaj się z tym jak działa ICMP oraz http://php.net/manual/en/function.socket-create.php (IMG:style_emoticons/default/winksmiley.jpg)

Przykładowy kod niezależny od platformy:
  1. <?PHP
  2. function ping($host, $timeout = 1) {
  3. /* ICMP ping packet with a pre-calculated checksum */
  4. $package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
  5. $socket = socket_create(AF_INET, SOCK_RAW, 1);
  6. socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
  7. socket_connect($socket, $host, null);
  8.  
  9. $ts = microtime(true);
  10. socket_send($socket, $package, strLen($package), 0);
  11. if (socket_read($socket, 255))
  12. $result = microtime(true) - $ts;
  13. else $result = false;
  14. socket_close($socket);
  15.  
  16. return $result;
  17. }
  18. ?>


edit: No, jeszce nmapa użyjcie i może php na roocie ... ludzie!

Ten post edytował kiler129 26.11.2010, 20:34:42
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 22:46