elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Scanner en gnu/linux
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Scanner en gnu/linux  (Leído 2,574 veces)
hanx

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Scanner en gnu/linux
« en: 8 Enero 2011, 01:39 am »

Código:
#include <stdio.h>

#include <string>

using namespace std;

#include "PracticalSocket.h"



int main(int argc, char **argv)

{

char help[]="\n usage: address start end\n";

char temp[255];

string ip;

int start;

int end;

int i=0;

TCPSocket *tcs;

switch(argc)

{

case 4:

//argv[1] ip to scan, argv[2] is the start port, argv[3] is the end port

ip=argv[1];

start=atoi(argv[2]);

end=atoi(argv[3]);

for(i=start;i<=end;i++)

{

try

{

sprintf(temp,"testing %i\n",i);

fputs(temp,stdout);

tcs = new TCPSocket;

//try and connect to the port...if connection fails an exception is thrown

tcs->connect(ip,i);

sprintf(temp,"open port at %i\n",i);

fputs(temp,stdout);

//if we succeeded in connecting to a port

delete tcs;

}

catch(SocketException ex)

{

continue;//run a continue to scan the next port

}

}

break;

default:

printf(help);

break;

}

return 0;

}



En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Scanner en gnu/linux
« Respuesta #1 en: 8 Enero 2011, 07:18 am »

Usas "using namespace std" dando a entender que es C++, pero usas librerias de C.

¿Por qué dejar una línea en blanco entre líneas?


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
hanx

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Scanner en gnu/linux
« Respuesta #2 en: 8 Enero 2011, 15:58 pm »

Debes saber que la libreria PracticalSocket.h si es c++, y los espacios es de la misma pagina, la cargo asi....
« Última modificación: 8 Enero 2011, 16:01 pm por hanx » En línea

EvilGoblin


Desconectado Desconectado

Mensajes: 2.323


YO NO LA VOTE!


Ver Perfil
Re: Scanner en gnu/linux
« Respuesta #3 en: 8 Enero 2011, 16:50 pm »

ahora, muestras el codigo "mascara" cuando en realidad el codigo importante seria el connect(ip,puerto);

no entiendo, estas preguntando algo o quieres saber algo???? de que va esto?
En línea

Experimental Serial Lain [Linux User]
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: Scanner en gnu/linux
« Respuesta #4 en: 8 Enero 2011, 20:26 pm »

No se si va, pero de nada
Código
  1. #include <time.h> //Hora
  2. #include <stdio.h> //Funciones basicas entrada/salida
  3. #include <string.h> //StrCmp
  4. #include <stdlib.h> //Exit y otras
  5. #include <arpa/inet.h> //struct sockaddr_in
  6. #include <sys/socket.h> //Socket, Connect...
  7.  
  8. struct sockaddr_in host; //Declaraciones
  9. int sockfd;
  10. int cont;
  11. int k = 0;
  12.  
  13.  
  14. int main (int argc, char *argv [])
  15. {
  16. printf ("ScanS 1.0 - By Sagrini (2010)\n"); //Esto escribira la presentacion.
  17. if (argc != 2)
  18. {
  19. printf ("Uso: %s <target_ip>\n\n", argv [0]);
  20. return 1;
  21. }
  22. host.sin_addr.s_addr=inet_addr (argv [1]);
  23. host.sin_family=AF_INET;
  24. memset (host.sin_zero, 0, 8);
  25. for (cont = 1; cont <= 65535 cont ++) //Modif :P
  26. {
  27.  
  28. if ((sockfd=socket (2, 1, 0))==1)
  29. {
  30. printf ("Error abriendo socket...\n\n");
  31. return 1;
  32. }
  33.  
  34. host.sin_port = htons (cont);
  35. if (connect (sockfd, (struct sockaddr*)&host, sizeof (host)) != -1)
  36. {
  37. printf ("Port %d open\n", cont);
  38. k++;
  39. }
  40. // else printf ("Port %d close\n", cont);
  41. close (sockfd);
  42. }
  43. if (k == 0) printf ("All ports closed...\n");
  44. else printf ("%d port(s) open(s)...\n", k);
  45. return 0;
  46. }
  47.  
  48.  
« Última modificación: 8 Enero 2011, 20:28 pm por Sagrini » En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines