Underc0de

Programación Web => Back-end => Mensaje iniciado por: WHK en Junio 03, 2013, 11:13:25 AM

Título: Utilizando RAW Sockets en PHP
Publicado por: WHK en Junio 03, 2013, 11:13:25 AM
La gran ventaja de utilizar sockets v/s raw sockets es que puedes construir paquetes personalizados adaptados al protocolo que desees, por ejemplo puedes realizar no solo conecciones TCP o UDP sino también ICMP y PUP.

Recordemos que en todos los sistemas menos Windows necesitamos permisos de root por asuntos de seguridad.

Ejemplo de un paquete ICMP haciendo Ping:
Código (php) [Seleccionar]
<?php
/* Paquete ICMP */
$package "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
$socket socket_create(AF_INETSOCK_RAW1);
socket_set_option($socketSOL_SOCKETSO_RCVTIMEO, array('sec' => $timeout'usec' => 0));
socket_connect($socket'173.194.42.63'null);
$ts microtime(true);
socket_send($socket$packagestrLen($package), 0);
if (
socket_read($socket255))
$demora microtime(true) - $ts;
else
$demora false;
socket_close($socket);

var_dump($demora);


También podemos crear nuestros propios Cliente/Servidor basados en protocolos creados por nosotros y evadir firewalls, cifrar información, enviar datos extras en las cabeceras, etc, entre otras cosas.

Título: Re:Utilizando RAW Sockets en PHP
Publicado por: ~ Yoya ~ en Junio 04, 2013, 01:36:09 PM
interesante, cosas como esas es bueno conocerla o por lo menos lo fundamental.

Saludos.