Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: volteo0101 en 12 Enero 2011, 12:05 pm



Título: [Duda]Sockets en perl.
Publicado por: volteo0101 en 12 Enero 2011, 12:05 pm
Buenas noches, estaba necesitando enviar muchos sockets a un mismo puerto .

Código
  1. #!/usr/bin/perl
  2. use IO::Socket::INET;
  3. while($x<=$slot)
  4. {
  5. IO::Socket::INET->new( PeerAddr => "$ip",
  6. PeerPort => "$puerto" ,
  7. Proto => "tcp");
  8. print "Enviado";
  9. $x++;
  10. }
  11.  


parte del codigo es este..

El tema es que creo que envia simpre el mismo socket,yo necesito enviar distintos sockets al puerto .

las variables , $puerto y $ip son pasadas por <STDIN>

Alguien me podria decir como puedo hacer un array con muchos sockets ? o alguna forma de enviar muchos sockets distintos a un msimo puerto sin ningun tipo de informacion,solo necesito que conecten.

Desde ya muchas gracias .

PD : Este script corre correctamente, pero no pude tener los mismos resultados que tube con un visualbasic que programe , que mandaba con un arreglo de winsock muchos sockets al mismo puerto.


EDIT : Acabo de hacer unas pruebas con netstat -a , en el perl solo conecta 1 socket al puerto , en cambio cuando uso mi visualbasic con arreglos de winsock conecta mas de 300 ..alguien puede ayudarme a hacer conectar muchos sockets ? saludos.


Título: Re: [Duda]Sockets en perl.
Publicado por: Novlucker en 13 Enero 2011, 11:05 am
Prueba con esto (http://bit.ly/bjjqvX), no puedo probar ahora y hace mucho que no uso perl

Saludos


Título: Re: [Duda]Sockets en perl.
Publicado por: volteo0101 en 13 Enero 2011, 11:42 am
Prueba con esto (http://bit.ly/bjjqvX), no puedo probar ahora y hace mucho que no uso perl

Saludos

Em nop , estuve viendo el enlace y el codigo ,pero el que codigo ese exploit cierra el sockets, y yo tengo que mantenerlo conectado mientras conecto otros.


Título: Re: [Duda]Sockets en perl.
Publicado por: Novlucker en 13 Enero 2011, 11:46 am
Es verdad no había prestado atención, entonces usa threads

Saludos

P.D: no se que tiene eso de exploit


Título: Re: [Duda]Sockets en perl.
Publicado por: WHK en 13 Enero 2011, 11:58 am
mira, hace tiempo hize este script, talves te sirva, utilizé forks para crear funciones que conectan el socket:

Código
  1. #!/usr/bin/perl
  2. #Perl-xxxx Traducción en perl del originalmente xxxxx.
  3.  
  4. use IO::Socket;
  5.  
  6. # Variables ==========================
  7. if((!$ARGV[0]) and (!$ARGV[1]) and (!$ARGV[2])) {
  8. print "Uso: $0 [Host] [Puerto] [Nº de Sockets] [protocolo(por defecto TCP)]
  9. Ejemplo 1: $0 xxxx.net 80 1700
  10. Ejemplo 2: $0 xxxx.com 21 1000
  11. Ejemplo 3: $0 xxxx.org 69 1500 UDP
  12. ";
  13. exit(1);
  14. } else {
  15. if (!$ARGV[3]) {
  16.  $protocolo = "TCP";
  17. } else {
  18.  $protocolo = $ARGV[3];
  19. }
  20. $cuenta_errores = "1";
  21. # ====================================
  22.  
  23. # Función conectar ==================================
  24. sub conectar {
  25.  $conectar =  new IO::Socket::INET(PeerAddr => $ARGV[0], PeerPort => $ARGV[1], Proto => $protocolo)or exit(1);
  26.  while (<$conectar>) {}
  27. }
  28. # ===================================================
  29.  
  30. # Conectar ==========================================
  31. print "[*] $ARGV[2] Sockets cargados.\n";
  32. print "[*] Conectando Sockets...\n";
  33. for (1 .. $ARGV[2]) {
  34.  next if my $kid = fork;
  35.  die "fork: $!" unless defined $kid;
  36.  while() {conectar;}
  37.  exit;
  38. }
  39. $conectados = ($ARGV[2]-$cuenta_errores)+1;
  40. $desconectados = $cuenta_errores-1;
  41. print "[*] Sockets conectados.\n";
  42. # ===================================================
  43.  
  44. # Espera el termino de fork para concluir ===========
  45. 1 while wait != -1;
  46. print "[*] Terminado.\n";
  47. }
  48. exit(0);
  49. # ===================================================


Título: Re: [Duda]Sockets en perl.
Publicado por: volteo0101 en 14 Enero 2011, 05:07 am
Muchas gracias a todos , voy a probar si funciona y les digo .

Hasta la proxima!