
sockets y captura de IP
Publicado por Angel Manuel (6 intervenciones) el 24/02/2018 10:42:23
Hola:
Estoy intentando obtener las IPS de la gente que entra en mi servidor por un determinado puerto, pero me sale un error y no entiendo el porqué.
Este es el código:
¿Qué es lo que tengo mal?
Gracias
Estoy intentando obtener las IPS de la gente que entra en mi servidor por un determinado puerto, pero me sale un error y no entiendo el porqué.
Este es el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);
/* Permitir al script esperar para conexiones. */
set_time_limit(0);
/* Activar el volcado de salida implícito, así veremos lo que estamos obteniendo
* mientras llega. */
ob_implicit_flush();
/* Para Hearthstone */
$address = '192.168.1.147';
$port = 3724;
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
}
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n";
}
if (socket_listen($sock, 5) === false) {
echo "socket_listen() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n";
}
do {
$Fichero = "log.txt"; //nombre del fichero donde guardamos los informes
$ip = $_SERVER["REMOTE_ADDR"] : "\t"; //guarda en la variable el ip
$fecha = date("Y-m-d;h:i:s") : "\t"; //fecha y hora (por lo general del servidor)
$sistema = $_SERVER['HTTP_USER_AGENT'] : "\t"; //esto nos genera varios datos del navegador y del sistema operativo
$conproxy = $_SERVER["HTTP_X_FORWARDED_FOR"] : "\n"; //en caso de usar proxy para esconderse aqui estaria el ip real
$log = "FECHA: $fecha : SISTEMA: $sistema IP: $ip IPPROXY: $conproxy";
$fp = fopen($Fichero, "a" );
fwrite($fp, $log);
fclose($fp);
} while (true);
socket_close($sock);
?>
¿Qué es lo que tengo mal?
Gracias
Valora esta pregunta


0