Aprende que es un Puerto IP y como escanear puertos fácilmente :D

¿Qué es un Puerto IP TCP / UDP?

Un Puerto IP es un los túnel (por decirlo así) por donde los programas de computadoras (también los virus y troyanos) realizan su comunicación con el exterior.

Al trabajar los diferentes programas, como muchos de los que abdicar.com es mirror oficial, en diferentes puertos, vemos como el funcionamiento de cada uno de ellos, se hace tan común como funcional.

Existen dos grandes “ramas” de protocolos, por los cuales viaja la información hasta los puertos.

Estos dos grupos son:

  • TCP (Transmission Control Protocol) que es uno de los protocolos fundamentales de la Internet. Fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn. El TCP permite el transporte confiable y bidireccional de datos.
  • UDP (User Datagram Protocol) que es un protocolo del nivel de transporte basado en el intercambio de datagramas.

Una vez que estamos utilizando un protocolo TCP o UDP para saber ¿Que es un puerto de computadora?, lograremos la conexión a un puerto en especifico enviando un paquete, mismo que será respondido con otro paquete, lo que al final de todo generara un intercambio de datos.

Estado de un Puerto IP

Un puerto de computadora puede estar en utilización o no; puede estar disponible o filtrado, todo con efectos de seguridad.

  • Abierto: Acepta conexiones entrantes; lo que significa que hay un software “escuchando” en este puerto de computadora. Esto no quiere decir que se tenga acceso a la aplicación, sólo que hay posibilidad de conectarse.
  • Cerrado: Se rechaza la conexión del todo. Probablemente no hay ningún software escuchando en este puerto, o no se permite el acceso por alguna razón de seguridad.
  • Bloqueado, Sigiloso o Filtrado: No hay respuesta. Este es el estado ideal para un cliente en Internet, de esta forma ni siquiera se sabe si el ordenador está conectado, o sirviendo contenidos a redes privadas. Normalmente este comportamiento se debe a un cortafuego (firewall) de algún tipo, o a los mismos casos de un puerto cerrado.

¿Dónde puedo obtener la lista de cada Puerto IP?

Tenemos una sección dedicada a mantener la lista de cada Puerto IP, y adicionalmente la enriquecimos con la información de los programas que usualmente escuchan dicho Puerto IP, así como los troyanos que se aprovechan cuando ven un Puerto IP desprotegido. Muy pronto colocaremos el enlace.

Ver lista completa de cada Puerto IP

Entonces un Puerto IP es…

Es un canal de comunicación, donde interactúan las solicitudes como las respuestas, de un programa en especifico que se encuentra atento (o escuchando) el Puerto IP; con la finalidad de ejecutar una serie de rutinas especificas, con tal de brindar un servicio web.

¿Mi hosting tiene más de un Puerto IP bloqueado?

Es una práctica bastante común en los alojamientos compartidos, en virtud de que se procura mantener la seguridad de los servicios para todos los clientes del entorno. Sin embargo, no tienes que gastar mucho dinero para tener una maquina con todos los puertos abiertos. Te recomendamos contratar el servicio de VPS Hosting de abdicar.com, y por unos cuantos dólares, tener cada Puerto IP a tu disposición.

Con PHP es sencillo escanear puertos

Escanear puertos es una labor interesante, y a la vez muy informativa; sin embargo todo comienza por saber si el puerto en especifico responde. Es por esto que crearemos un sencillo script que te ayudara a escanear puertos, utilizando una lista de puertos básicos, que puedes ampliar fácilmente.

escanear-puertos.php

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
6364
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!--?php <br ?--> /*
* HACKING BALLZ
*┏┓┏┓╋╋╋╋┏┓┏┓╋╋╋╋╋┏━━┓╋╋╋╋╋╋╋┏━━┓
*┃┗┛┣━┓┏━┫┣╋╋━┳┳━┓┃┏┓┣━┓┏┓┏┓╋┣━━┃
*┃┏┓┃╋┗┫━┫━┫┃┃┃┃╋┃┃┏┓┃╋┗┫┗┫┗┓┃━━┫
*┗┛┗┻━━┻━┻┻┻┻┻━╋┓┃┗━━┻━━┻━┻━┛┗━━┛
*╋╋╋╋╋╋╋╋╋╋╋╋╋╋┗━┛
*
* ...internet desde cero!
* HTTP://HACKINGBALLZ.COM
*
* escanear-puertos.php (01/02/2012) | v.1
* larry hans | hackingballz
*
* http://hackingballz.com/puerto-ip-escanear-puertos/
*/
 
if(!$_POST['submit']){ // Luego de que se sometieron los datos
?>
 
<form id="form1" action="<?=$_SERVER['PHP_SELF']?>" method="post" name="form1">Escriba el IP (o dominio) que desea escanear:
<input id="hostname" type="text" name="hostname" /> <input id="submit" type="submit" name="submit" value="Escanear Puertos" /></form><!--?php <br ?--> }else{ // Recopilamos el $_POST['hostname']
 
/*
*
* Incluye tantos puertos necesites.
*
*/
 
$puertos = array(
80, // httpd
22, //SSH
21, //FTP
3389 //Remote Desktop
);
 
/*
*
* hbz_escanear_puertos($hostname,$arr);
* $hostname = IP o dominio a escanear
* $arr = Array de puertos a escanear
*
*/
 
function hbz_escanear_puertos($hostname,$arr){
//print_r($arr);
 
$status = array(); // definimos el array que retornaremos
 
foreach ($arr as $key => $value) { // recorremos la lista de puertos
 
if(!@fsockopen($hostname, $value, $errno, $errstr, 30)){ // Realizamos la prueba del puerto
 
$status[$value] = 'down'; // puerto cerrado
 
}else{
$status[$value] = 'up'; // puerto abierto
}
 
}
 
return $status; // retornamos el array con los datos obtenidos
 }
 
/*
*
* Ejemplo de utilización
*
*/
 
echo "<strong>Escaneando " . $_POST['hostname'] . ":</strong>
";
 
echo "
<pre>";
            print_r(hbz_escanear_puertos($_POST['hostname'],$puertos));
            echo "</pre>
";
 
?>
 
<a href="javascript:history.go(-1)">Clic aquí</a> para realizar otro escaneo.
 
<!--?php <br ?--> }
?>
<!--?php <br ?--> /*
* HACKING BALLZ
*┏┓┏┓╋╋╋╋┏┓┏┓╋╋╋╋╋┏━━┓╋╋╋╋╋╋╋┏━━┓
*┃┗┛┣━┓┏━┫┣╋╋━┳┳━┓┃┏┓┣━┓┏┓┏┓╋┣━━┃
*┃┏┓┃╋┗┫━┫━┫┃┃┃┃╋┃┃┏┓┃╋┗┫┗┫┗┓┃━━┫
*┗┛┗┻━━┻━┻┻┻┻┻━╋┓┃┗━━┻━━┻━┻━┛┗━━┛
*╋╋╋╋╋╋╋╋╋╋╋╋╋╋┗━┛
*
* ...internet desde cero!
* HTTP://HACKINGBALLZ.COM
*
* escanear-puertos.php (01/02/2012) | v.1
* larry hans | hackingballz
*
* http://hackingballz.com/puerto-ip-escanear-puertos/
*/

if(!$_POST['submit']){ // Luego de que se sometieron los datos
?>

<form id="form1" action="<?=$_SERVER['PHP_SELF']?>" method="post" name="form1">Escriba el IP (o dominio) que desea escanear:
<input id="hostname" type="text" name="hostname" /> <input id="submit" type="submit" name="submit" value="Escanear Puertos" /></form><!--?php <br ?--> }else{ // Recopilamos el $_POST['hostname']

/*
*
* Incluye tantos puertos necesites.
*
*/

$puertos = array(
80, // httpd
22, //SSH
21, //FTP
3389 //Remote Desktop
);

/*
*
* hbz_escanear_puertos($hostname,$arr);
* $hostname = IP o dominio a escanear
* $arr = Array de puertos a escanear
*
*/

function hbz_escanear_puertos($hostname,$arr){
//print_r($arr);

$status = array(); // definimos el array que retornaremos

foreach ($arr as $key => $value) { // recorremos la lista de puertos

if(!@fsockopen($hostname, $value, $errno, $errstr, 30)){ // Realizamos la prueba del puerto

$status[$value] = 'down'; // puerto cerrado

}else{
$status[$value] = 'up'; // puerto abierto
}

}

return $status; // retornamos el array con los datos obtenidos

}

/*
*
* Ejemplo de utilización
*
*/

echo "<strong>Escaneando " . $_POST['hostname'] . ":</strong>
";

echo "
<pre>";
            print_r(hbz_escanear_puertos($_POST['hostname'],$puertos));
            echo "</pre>
";

?>

<a href="javascript:history.go(-1)">Clic aquí</a> para realizar otro escaneo.

<!--?php <br ?--> }
?>

En el script anterior, vemos como desarrollamos la función “hbz_escanear_puertos($hostname,$arr);” que nos permite escanear puertos de manera sencilla con PHP.

Descargar archivo escanear-puertos.php en formato ZIP

El resultado por ejemplo de escanear puertos utilizando de referencia a Google, es el siguiente:

Puerto IP - Escanear puertos

La función utiliza a la vez la función de PHP fsockopen.

Les recordamos que pueden dejar todas sus consultas sobre que es un Puerto IP, y sobre el script para escanear puertos en la sección de comentarios debajo de esta nota.

Escanear puertos hoy en día es una labor no solamente de hackers, sino de profesionales que en general desean monitorear la estabilidad de servicios, y la continuidad de los mismos.

Un Puerto IP siempre será sensible de este tipo de servicios para escanear puertos, por lo que lo ideal, es que si no lo tienes en funcionamiento, lo bloquees con tu firewall, y así te evites mayores problemas.

Un hacking saludo..!