Hola que tal...
he encontrado este escript que hace un scanner de unos puertos a partir de un archivo de texto, el problema es que hay que indicarle la ip a la que debe escanear los puertos, al escribir la dirección, de este modo: scan.php?ip=laip
Quisiera que me ayudaseis a añadir el código necesario para que el script identificase automaticamente la ip del visitante al ejecutar el script.
Gracias.
Código PHP:
<?php
# Pongo el time limit en 0 para que no se acabe el script por time limit.
set_time_limit(0);
# Cojo los puertos de puertos.txt y los meto en un array
$db = file('puertos.txt');
foreach ($db as $a=>$b) {
$puerto = explode(" ",$b);
$desc = str_replace($puerto[0]." ","",$b);
$ports[$puerto[0]] = $desc;
}
# Verifico que la ip sean numeros
if(is_numeric(str_replace(".","",$_GET['ip']))) {
# Con este foreach verifico todos los puertos
foreach($ports as $a=>$b) {
# Si conecto pongo que conecto
if(conecta($a)) {
pon($a,$b,"./images/on.gif");
}
# Si no conecto pongo que no conecto
else {
pon($a,$b,"./images/off.gif");
}
}
}
else { die("La ip debe contener solamente numeros."); }
# Función que me dice si el puerto esta abierto o no
function conecta ($port) {
$conexion = @fsockopen($_GET['ip'],$port,$errno,$errstr,5);
@fclose($conexion);
if($conexion) return 1;
else return 0;
}
# Función que pone si el puerto esta abierto o no.
function pon ($port,$desc,$img) {
echo"<tr style=\"font: 9px Tahoma;\">\n";
echo" <td width=\"15%\" style=\"text-align: center;\"><img src=\"".$img."\"></td>\n";
echo" <td width=\"25%\" style=\"text-align: center;\">".$port."</td>\n";
echo" <td width=\"60%\" style=\"text-align: center;\">".$desc."</td>\n";
echo"</tr>\n";
}
?>