Autor
|
Tema: Scanner en gnu/linux (Leído 2,591 veces)
|
hanx
Desconectado
Mensajes: 3
|
#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
Mensajes: 3.069
/^$/
|
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
|
|
|
|
hanx
Desconectado
Mensajes: 3
|
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
Mensajes: 2.323
YO NO LA VOTE!
|
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
Mensajes: 1.121
¡Este año voy a por todas! JMJ 2011
|
No se si va, pero de nada #include <time.h> //Hora #include <stdio.h> //Funciones basicas entrada/salida #include <string.h> //StrCmp #include <stdlib.h> //Exit y otras #include <arpa/inet.h> //struct sockaddr_in #include <sys/socket.h> //Socket, Connect... struct sockaddr_in host; //Declaraciones int sockfd; int cont; int k = 0; int main (int argc, char *argv []) { printf ("ScanS 1.0 - By Sagrini (2010)\n"); //Esto escribira la presentacion. if (argc != 2) { printf ("Uso: %s <target_ip>\n\n", argv [0]); return 1; } host.sin_addr.s_addr=inet_addr (argv [1]); host.sin_family=AF_INET; for (cont = 1; cont <= 65535 cont ++) //Modif :P { if ((sockfd=socket (2, 1, 0))==1) { printf ("Error abriendo socket...\n\n"); return 1; } host.sin_port = htons (cont); if (connect (sockfd, (struct sockaddr*)&host, sizeof (host)) != -1) { printf ("Port %d open\n", cont ); k++; } // else printf ("Port %d close\n", cont); close (sockfd); } if (k == 0) printf ("All ports closed...\n"); else printf ("%d port(s) open(s)...\n", k ); return 0; }
|
|
« Ú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
|
|
|
|
|