comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Miniscanner de puertos en PHP

  • 6 Respuestas
  • 2590 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« en: Marzo 29, 2013, 11:10:20 pm »
Bueno siguiendo la idea de Sanko en su post: No tienes permisos para ver links. Registrate o Entra con tu cuenta
pues entonces pense que se podia hacer en php y pues aqui lo dejo, no soy muy bueno programando pero a lo mejor  alguien le sirve....




Código: PHP
  1. <title>Escaner puertos</title>
  2. <style>
  3.         body{
  4.                 background-color: black;
  5.                 color:white;
  6.         }
  7. </style>
  8. <?php
  9. //no se cuantos puertos escanearemos entonces dejo que el script pueda ejecutarse y se tome su tiempo :P
  10. No tienes permisos para ver links. Registrate o Entra con tu cuenta(0);
  11. //si existe enviar entonces.... que realice los siguientes procesos
  12. if(No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['enviar'])){
  13.         //atrapo todos los parametros del formulario y les quito xss :P
  14.         $url=No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['url'],ENT_QUOTES);
  15.         $pi=No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['pi'],ENT_QUOTES);
  16.         $pf=No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['pf'],ENT_QUOTES);
  17.         //si no esta vacio ninguno de los campos Nota: Esto se puede validar mucho mas tanto como tu quieras...
  18.         if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($url) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pi) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pf)){
  19.                 //le muestro un mensaje con el objetivo y uno que espere mientras esta escaneando...
  20.                 echo '<h3>Objetivo:<font color="red">'.$url."</font></h3><br />";
  21.                 echo 'Espere mientras se esta escaneando puede tardar.<blink>.</blink><blink>.</blink><br />';
  22.                 //le asigno a $i el valor de pi que es el puerto inicial y mientras el puerto inicial sea menor al puerto final va aumentar de 1 a 1
  23.                 for($i=$pi;$i<=$pf;$i++){
  24.                         //si la coneccion se realizo existosamente entonces el puerto esta abierto
  25.                         //los parametros de fsockopen son la url,puerto,error coneccion,error coneccion,tiempo limite
  26.                         if($connect=@No tienes permisos para ver links. Registrate o Entra con tu cuenta($url,$i,$errno,$errstr,5)){
  27.                                 echo '<font color="#30E319">Puerto abierto:'.$i."</font><br />";
  28.                                 //cierro la coneccion
  29.                                 @No tienes permisos para ver links. Registrate o Entra con tu cuenta($connect);
  30.                                 //borro la variable connect se creara arriba
  31.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta($connect);
  32.                         }else{
  33.                         //si no se realizo la coneccion no devuelvo nada
  34.                                 echo NULL;
  35.                                 //echo 'Puerto cerrado:'.$i."<br />"
  36.                 }
  37.                 //libero el buffer
  38.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  39.         }
  40.         }else{
  41.                 //si los campos estan vacios muestra un mensaje y el formulario
  42.                 echo '<b>Rellena los campos correctamente</b><br />';
  43.                 echo '
  44.         <h1>MiniScanner de Puertos:</h1>
  45.                 <form action="" method="post">
  46.                         <b>Ingresa la url:</b><input name="url" type="text" value="www."><br />
  47.                         <b>Ingresa el puerto inicial:</b><input name="pi" type="text"><br />
  48.                         <b>Ingresa el puerto final:</b><input name="pf" type="text"><br />
  49.                         <input name="enviar" type="submit">
  50.                 </form>
  51.         ';
  52.         }
  53. }else{
  54.         //sino existe enviar que me muestre el formulario
  55.         echo '
  56.         <h1>MiniScanner de Puertos:</h1>
  57.                 <form action="" method="post">
  58.                         <b>Ingresa la url:</b><input name="url" type="text" value="www."><br />
  59.                         <b>Ingresa el puerto inicial:</b><input name="pi" type="text"><br />
  60.                         <b>Ingresa el puerto final:</b><input name="pf" type="text"><br />
  61.                         <input name="enviar" type="submit">
  62.                 </form>
  63.         ';
  64. }
  65.  
  66. ?>

Nota: Antes de que que me troleen pueden hacerme criticas constructivas :P xD salu2
« Última modificación: Marzo 27, 2014, 05:33:38 pm por Expermicid »

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 236
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #1 en: Marzo 30, 2013, 11:08:16 pm »
Yo también hice uno cuando leí sobre sockets en php jeje

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Nota: Antes de que que me troleen pueden hacerme criticas constructivas :P xD salu2

No soy bueno troleando, así que me paso a las criticas constructivas xD...

  • Deberías empezar a usar funciones para una mejor "Programación estructurada"
  • Te recomiendo usar Operaciones Ternarias, así es más legíble el código ;)

Y en:

Código: PHP
  1. if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($url) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pi) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pf)){...
  2.  

Puedes hacerlo más "simple":

Código: PHP
  1. if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($url)&&($pi)&&($pf)){...
  2.  
8)

Zalu2!  ;D
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #2 en: Marzo 31, 2013, 01:54:56 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Yo también hice uno cuando leí sobre sockets en php jeje

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Nota: Antes de que que me troleen pueden hacerme criticas constructivas :P xD salu2

No soy bueno troleando, así que me paso a las criticas constructivas xD...

  • Deberías empezar a usar funciones para una mejor "Programación estructurada"
  • Te recomiendo usar Operaciones Ternarias, así es más legíble el código ;)

Y en:

Código: PHP
  1. if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($url) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pi) && !No tienes permisos para ver links. Registrate o Entra con tu cuenta($pf)){...
  2.  

Puedes hacerlo más "simple":

Código: PHP
  1. if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($url)&&($pi)&&($pf)){...
  2.  
8)

Zalu2!  ;D
Gracias bro :D salu2

Desconectado Okol

  • *
  • Underc0der
  • Mensajes: 83
  • Actividad:
    0%
  • Reputación 0
  • Imaginando Programando & Avanzando!
    • Ver Perfil
    • Email
« Respuesta #3 en: Abril 16, 2013, 12:52:54 pm »
Muy bueno tu aporte, lo único es que concuerdo con 2facer, deberías comenzar a usar funciones; Es más sencillo y mucho más ordenado.
Saludos hermano.
Underc0de Manager!

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #4 en: Abril 16, 2013, 02:15:33 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno tu aporte, lo único es que concuerdo con 2facer, deberías comenzar a usar funciones; Es más sencillo y mucho más ordenado.
Saludos hermano.
Gracias por la sugerencia la tomare en cuenta bro salu2

Desconectado F0M3T

  • *
  • Underc0der
  • Mensajes: 177
  • Actividad:
    0%
  • Reputación 0
  • Antes de empezar, mira el lienzo...
    • Ver Perfil
    • f0m3t blogsgsgsgsdfñsadf
« Respuesta #5 en: Abril 16, 2013, 02:48:57 pm »
Esta bueno.
Saludos.

Esto no se trata de ganar, se trata de no perder.

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #6 en: Abril 18, 2013, 02:35:40 pm »
Está bien bueno, pero podrias potenciarlo un poco mas, por ejemplo utilizando hilos de proceso para escanear de 5 en 5 puertos y la posibilidad de establecer manualmente el tiempo limite de conección del socket ya que talves queremos detectar algo que se demora en abrir.

¿Como se pueden hacer hilos o threads en php?, no se puede :P a menos que lo hagas desde la consola con forks o alguna librería especial, pero si se puede simular desde javascript.

Por ejemplo... tienes la vista en html con los botones, al hacer click javascript llamará 5 veces a una misma función no sincronizada, por ejemplo usando setTimeOut(function(){ ... }, 0) esto hará que se hagan 5 peticiones web al mismo archivo del escaneador pero con variables, donde pueden ser por ejemplo, ip, timeout del socket, puerto, etc.

Despues el retorno de este script que lo vaya mostrando en la vista de html con un cargador por cada socket.

Si lo haces no utilices gif animados porque si pones varios mas el settimeout vas a causar que se queden pegados, mejor usa css3:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Ahi hay buenas animaciones.

Saludos.

 

¿Te gustó el post? COMPARTILO!