Autor Zpráva
muflix
Profil *
Dobrý den, vím, že je možné přes PHP posílat ping přes socket funkce (http://php.net/manual/en/ref.sockets.php)
Je, ale také možné příchozí ICMP pakety číst ? Děkuji.
Davex
Profil
Ano teoreticky to jde, ale v praxi je většinou na překážku, že skript musí běžet s právy roota, pod kterým na webserveru z bezpečnostích důvodů nikdy neběží.
muflix
Profil *
Aha, mě by to nejspíš běželo na nějakém VPS tak bych tomu roota klidně přiřadil..
pročítal sem si ty funkce, ale nejsem z toho moc moudrej.. šlo by použít něco takového ?

<?php
$sock = socket_create(AF_INET, SOCK_RAW, 0);
socket_listen($sock);
$client = socket_accept($sock);

while (true){
if (/*tady nejaka podminka pokud neco prislo*/){
socket_write($client, socket_read($client, 1024) );
}
}
?> 


děkuji:)
Davex
Profil
muflix:
Aha, mě by to nejspíš běželo na nějakém VPS tak bych tomu roota klidně přiřadil..
To není dobrý nápad. Nebylo by lepší spustit rovnou příkaz ping pomocí shell_exec()?
muflix
Profil *
no, ale mě nejde o posílání ping paketů ale o čtení příchozích zpráv.. nebo jedině, že by ping či jiný linux nástroj uměl číst a vypisovat do konzole icmp komunikaci.
Davex
Profil
Něco jako tcpdump -X -s 1500 -n -p -i eth0 icmp?
muflix
Profil *
no to by asi šlo :-) ale potřeboval bych to zpracovávat real time.. tak jedině to vypisovat třeba do proměnný a zpracovaný zprávy zpetně mazat.. jo to by asi šlo akorát se ten tcpdump bude neustále zvětšovat kdežto kdybych to chytal rovnou v php tak myslim, že by to bylo jednodušší jen nevim jak to zachytávat :) ale až zaregistruji VPS tak ten tcpdump zkusim.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: