Bueno, el otro dia postee en el subforo de Messenger, Chats... k como le sacaba la IP "real" a la victima pues la k aparecia en REAL IP, o algo asi, no era la buena...
pues aparte de k si es la buena, se me ocurrio otro metodo + eficaz xD
escribi un programa en C k esperase coenxiones en un puerto a indicar, y lo registrase todo en un archivo.
pues bien, lo k hice fue hacer kill al apache y lo puse en el p 80. le pase mi ip y le dije: "Conectate aki, ya veras... etc."
se conecta y queda registrada la Ip de la victima, con muxa mas info del ordenata destino.
si alguien kiere aplicar la idea, aki les dejo el code xD
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <time.h>
int socketfd, newsocket;
void shutup (int signal)
{
log=fopen ("/var/log/smallserver.log", "a+"); times ();
close (newsocket);
close (socketfd);
}
int times ()
{
struct tm *ahora;
char buffer [40];
strftime (buffer
, 40, "%d/%m/%Y %H:%M:%S" , ahora
); log=fopen ("/var/log/smallserver.log", "a+"); return 0;
}
int main (int argc, char *argv [])
{
if (getuid()!=0)
{
printf ("This proccess must be run by root.\n\n"); return 1;
}
if (argc!=2)
{
printf ("Error:\nUse: %s <PORT>\n\n", argv
[0]); return 1;
}
int cont;
struct sockaddr_in client, host;
char buffer [1024];
int size=sizeof (client);
socketfd=socket (2, 1 , 0);
host.sin_family=AF_INET;
host.
sin_port=htons
(atoi (argv
[1])); host.sin_addr.s_addr=0;
bind (socketfd, (struct sockaddr*)&host, sizeof (struct sockaddr));
listen (socketfd, 3);
log=fopen ("/var/log/smallserver.log", "a+"); times ();
signal (SIGTERM, shutup);
signal (SIGINT, shutup);
printf ("Forking process..."); daemon (1, 0);
while (1)
{
newsocket=accept (socketfd, (struct sockaddr*)&client, &size);
log=fopen ("/var/log/smallserver.log", "a+"); times ();
fprintf (log, "Got connection from %s:%d\n", inet_ntoa
(client.
sin_addr), ntohs
(client.
sin_port));
cont=recv (newsocket, &buffer, 1024, 0);
while (cont>2)
{
log=fopen ("/var/log/smallserver.log", "a+"); times ();
buffer [cont-1]='\0';
fprintf (log, "RECV %d bytes: %s \n", cont
-2, buffer
);
cont=recv (newsocket, &buffer, 1024, 0);
}
log=fopen ("/var/log/smallserver.log", "a+"); times ();
fprintf (log, "Finishing connection from %s:%d\n\n", inet_ntoa
(client.
sin_addr), ntohs
(client.
sin_port)); close (newsocket);
}
close (socketfd);
return 0;
}
se k es bastante simple, xro me costo un pokito xD k estoi aprendiendo...
si alguien cree k es mejorable, k postee como. estoi interesado (stoi aprendiendo, otra vez xD)