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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19
121  Foros Generales / Dudas Generales / Como acceder a correo con POP3 en: 8 Julio 2015, 12:04 pm
Digamos que tengo un correo que no es hotmail, ni gmail, ni yahoo ni niguno conocido.

Como los de @elhacker.net pero menos conocido, ¿como puedo entrar en el?

Saludos.

Edito: Necesitaría el servidor de email, su dominio y su puerto de conexión, algo que desconozco ahora mismo, luego estaría jodido XD.

http://www.howtogeek.com/130516/how-to-access-pop3-email-accounts-in-windows-8/

Creo que la solución pasará por usar wireshark e intentar recapturarlo y mirar el contenido de paquete con su servidor y puerto al que va dirigido, de todas formas lo tendré en cuenta para mi proyecto, que a la hora de capturar un email POP3, que no se conforme con el usuario y contraseña, y que saque tambien el servidor y el puerto.



Saludos.
122  Programación / Programación C/C++ / Fallo al insertar estructura a vector de estructuras en: 7 Julio 2015, 14:47 pm
Hola tengo una función que añade a un vector de estructuras, una estructura con una ip y una mac asociada, siempre y cuando no esté añadida ya en el vector, pero al ejecutarlo me aparecen repetidas las ips con sus correspondientes macs, es frustrante. ¿donde puede estar el error?

Código
  1. void lista_usuarios::insertar_host(u_char* ip, u_char* mac)
  2. {
  3. int salida;
  4. printf("CONTENIDO LISTA************\n");
  5. for (int i = 0; i < usuarios.size(); i++)
  6. {
  7. for (int j = 0; j < 4; j++)
  8. {
  9. printf("%x", usuarios[i].ip[j]);
  10. }
  11. printf("     ");
  12. for (int j = 0; j < 6; j++)
  13. {
  14. printf("%x", usuarios[i].mac[j]);
  15. }
  16. printf("\n");
  17. }
  18. printf("CONTENIDO IPS Y MAC***********\n");
  19. for (int j = 0; j < 4; j++)
  20. {
  21. printf("%x", ip[j]);
  22. }
  23. printf("     ");
  24. for (int j = 0; j < 6; j++)
  25. {
  26. printf("%x", mac[j]);
  27. }
  28. printf("\n");
  29. for (int i = 0; i < usuarios.size(); i++)
  30. {
  31. salida = 0;
  32. for (int j = 0; j < 4; j++)
  33. {
  34. if (ip[j] != usuarios[i].ip[j])
  35. {
  36. salida++;
  37. break;
  38. }
  39. }
  40.  
  41. for (int j = 0; j < 6; j++)
  42. {
  43. if (mac[j] != usuarios[i].mac[j])
  44. {
  45. salida++;
  46. break;
  47. }
  48. }
  49. printf("salida %d\n", salida);
  50.  
  51. if (salida == 2)
  52. {
  53. printf(" ENTRA \n");
  54. host usuario;
  55. for (int j = 0; j < 4; j++)
  56. {
  57. usuario.ip[j] = ip[j];
  58. }
  59. for (int j = 0; j < 6; j++)
  60. {
  61. usuario.mac[j] = mac[j];
  62. }
  63. usuarios.push_back(usuario);
  64. break;
  65. }
  66. }
  67.  
  68. if (usuarios.size() == 0)
  69. {
  70. host usuario;
  71. for (int j = 0; j < 4; j++)
  72. {
  73. usuario.ip[j] = ip[j];
  74. }
  75. for (int j = 0; j < 6; j++)
  76. {
  77. usuario.mac[j] = mac[j];
  78. }
  79. usuarios.push_back(usuario);
  80. }
123  Programación / Programación C/C++ / Errores y magia en vector<> C++ en: 6 Julio 2015, 15:29 pm
Bueno tras perder todo lo que acabo de escribir iré al grano.

Tengo una clase que contiene 2 vectores, uno contiene la lista de ips y otro la lista de macs de la red, a ips[2] le correspondería la mac macs[2]. Fácil.

Ambos vectores son de tipo u_char*. Antes que nada os dejo el codigo:

La clase es lista_usuarios:

Código
  1. class lista_usuarios
  2. {
  3. public:
  4. vector<u_char*> ips;//LA p**a *****.
  5. vector<u_char*> macs;
  6. void almacena_usuario(u_char* ip, u_char* mac);
  7. };
  8.  
  9. void lista_usuarios::almacena_usuario(u_char* ip, u_char* mac)
  10. {
  11. int cont = 0, cant = 0;//diferenciar win32 win64 if def ifndef
  12.  
  13. if (sizeof(ip) == 4 && sizeof(mac) == 4)
  14. {
  15. if (ips.size() == 1)
  16. {
  17. printf("\n");
  18. for (int k = 0; k < 4; k++)
  19. {
  20. printf("%x", ips[0][k]);
  21. }
  22. }
  23. //CLARO MISTERIOSAMENTE EL VECTOR VALE LO MISMO QUE IP NO ALMACENA UNA p**a *****
  24. for (int i = 0; i < ips.size(); i++)
  25. {
  26. for (int k = 0; k < 4; k++)
  27. {
  28. //printf("%x", ip[k]);
  29. }
  30. printf("-");
  31. for (int k = 0; k < 4; k++)
  32. {
  33. //printf("%x", ips[i][k]);
  34. }
  35. printf("\n");
  36.  
  37.  
  38. for (int j = 0; j < 4; j++)
  39. if (ip[j] == ips[i][j])
  40. cont++;
  41.  
  42.  
  43. for (int j = 0; j < 6; j++)
  44. if (mac[j] == macs[i][j])
  45. cant++;
  46. }
  47. //printf("\nCont: %d, Cant: %d\n", cont, cant);
  48. if (cont != 4 && cant != 6)
  49. {
  50. printf("entra\n\n", cont);
  51. /*for (int k = 0; k < 4; k++)
  52. {
  53. printf("%x", ip[k]);
  54. }
  55. printf(" - ");
  56. for (int k = 0; k < 6; k++)
  57. {
  58. printf("%x", mac[k]);
  59. }
  60. system("pause");*/
  61. ips.insert(ips.begin(), ip);
  62. macs.insert(macs.begin(), mac);
  63. }
  64. }
  65. }
  66.  

La llamada a la función es así:

Código:
lista.almacena_usuario(ip,mac);

Yo le paso la ip y la mac del host, ambas son u_char*.

Ahora comienza la MAGIA del programa, cuando esto:

printf("%x", ips[0][k]);

Muestra cada vez una cosa distina, es decir el vector de las ips su primer elemento (ips[0]) que contiene 4 valores u_char que corresponden a la IP, VEMOS que en cada llamada toma una IP distinta que casualmente es justo la que ha recibido, luego el vector siempre tiene 1 elemento, que es cuando cont=0 la primera vez (al no haber ips/mac entra porque no hay otra igual a la suya), si hay igual no se añade y saldría.

Salida: (muestra el contenido del primer elemento del vector de ips como vemos su valor se sobreescribe ¿porque? no lo sé)

Código:
ac1aab0-

ac1aa42-

ac1aa44-

ac1aab0-

ac1aa42-

ac1aa44-

ac1aa44-

ac1aa42-

ac1aa44-

ac1aab0-

ac1aa42-

ac1aa44-

ac1aa44-

ac1aa42-

ac1aab0-

ac1aab0-

ac1aa44-

ac1aab0-

ac1aa42-
tam: 1
ac1aa42::5c2e59caddeb

Al final muestra las IPs de la lista y su MAC asociada, en este caso 1 solo, ¿porque? porque la lista solo tiene un elemento, ¿porque? porque se sobreesribe...

DesesperanT.

OJO que si pruebo a hacer simplemente esto:
Código:
lista.ips.insert(lista.ips.end(), ip);
lista.macs.insert(lista.macs.end(), mac);

La lista me sale con 40 elementos todos iguales, a pesar de que al insertar inserto distintos elementos, ¿esto que broma es?
124  Programación / Programación C/C++ / Pasar de const u_char* a char* en c++ en: 4 Julio 2015, 18:37 pm
Modifico el post, la anterior duda fue solucionada. La nueva duda esta en mi siguiente post.

Saludos.
125  Foros Generales / Dudas Generales / Ayuda sobre funcionamiento de broadcast ping en: 2 Julio 2015, 12:50 pm
Hola a todos, miren estoy buscando escanear los host de la red pero no sé si el sistema trabajará como yo creo, es por eso por lo que creo el hilo.

Se supone que haciendo un ping a la broadcast obtendré la respuesta de todos los hosts de la red conectados al router.

Entonces tendré que mandar un ICMP a la dirección de broadcast ¿pasando mi IP?, y luego el router mandará una peticion a todos los host, pasandole un ICMP con mi dirección IP sino me equivoco un PING vamos, y responderán con su dirección IP a la mi IP que fue la que lanzó la broadcast. ¿funciona así no?

La idea es implementarlo, mandaría un ICMP a la broadcast, y escucharía los paquetes tipo ICMP response entrantes almacenando las ips conectadas a la red, ¿podéis confirmarme que esto funcionara?.

Antes tomé un camino fácil, hacer ping a todo el rango de IPs y la propia funcion me decía si había respondido sin necesidad de escuchar el tráfico, iba de una en una. Mal método escanear host haciendo ping uno a uno para todo el rango de ips.

Si conocéis algún método mejor para hacerlo decidme, luego ya lo implementaría en C++, nada más solo eso.

Saludos.

Edito: He estado informandome y no es buena idea escanear la red usando un ping a la broadcast, pues muchos equipos cancelan los paquetes ICMP, y no responden, usando wireshark, he visto que solo me ha respondido un equipo al ping de broadcast, mientras que 3 lo han ignorado, es por ello que buscaré otros métodos, saludos.

Edito 2: He estado probando como funciona Fing de mi móvil, ya que obtiene los host de la red con su MAC muy rápidamente, y aquí os lo cuento.

Simplemente manda paquetes ARP a todo el rango de hosts y usa threads para mandarlos. Luego la solución más efectiva pasa por mandar mensajes ARP, además de esta manera cuando respondan ya tendré su MAC, y no tendré que hacer 2 llamadas, saludos.
126  Programación / Programación C/C++ / ayuda paso de byte* a char* en: 26 Junio 2015, 19:42 pm
Código
  1. if (SendARP(destino, origen, MacAddr, &PhyAddrLen) == NO_ERROR)
  2. {
  3. if (PhyAddrLen)
  4. {
  5. *mac = (char*)&MacAddr;
  6. /*BYTE *bMacAddr = (BYTE*)&MacAddr;
  7. *(mac) = (char*)bMacAddr;
  8. for (int i = 0; i < (int)PhyAddrLen; i++)
  9. {
  10. //printf("%x", bMacAddr[i]);
  11. //*(mac[i]) = (char)bMacAddr[i];
  12. }*/
  13. return true;
  14. }
  15. }

MacAddr es un long que contiene la direccion mac, y necesito esa direccion mac en char*, mac es un char** que recibe de argumento.

Código:
*mac = (char*)&MacAddr;

No funciona, ¿que puedo hacer para el cambio?.

Saludos.
127  Programación / Desarrollo Web / ¿Como alquilar servidor? en: 25 Junio 2015, 16:44 pm
Hola a todos, nunca he comprado ni alquilado un servidor, todos los que he probado han sido gratuitos.

Me gustaría saber como alquilar un servidor en un país, preferiblemente sin leyes de protección de datos (Irán, Afganistán... no conozco tampoco muchos), tampoco es imprescindible, simplemente pues tengo más protección legal, al no haber leyes que puedan ser usadas contra mí, pues si quieren joderte siempre pueden hacerlo, pero si no hay leyes con las que te puedan atacar, lo tienen más jodido.

Quiero utilizarlo de proxy y colgarlo en internet. para ver hasta dónde puede llegar usando javascript.

Pero eso ya es aparte, simplemente quiero acceder a el, poder poner mis scripts y poco más, ¿alguna página de confianza o consejo?

Saludos.
128  Programación / Programación C/C++ / Ayuda con conversión en: 22 Junio 2015, 15:47 pm
Desesperado.

Código
  1. u_char *mac_adaptador = (u_char *)pAdapter->Address;
Funciona, pasa de binario a hexadeciaml, de byte a u_char (cont char) perfecto.

¿Pero ahora como hago para pasar una string que contiene la ip de la gateway "192.168.1.1" a hexadecimal que sería: "c0 a8 01 01" y meterlo en un u_char?

Código
  1. u_char *ip_gateway = (u_char *)(byte *)pAdapter->GatewayList.IpAddress.String

Desesperante 50 pestañas y nada.  :o :o :o :o :o

Por no hablar de como obtener el tamaño de los u_char, la verdad nunca los he estudiado y estoy bastante liado.

Edito: Os paso el código con todo lo que tengo:

Código
  1. u_char *mac_adaptador = (u_char *)pAdapter->Address;//reinterpret_cast<u_char*>(pAdapter->Address);
  2. u_char *ip_gateway = (u_char *)(byte *)pAdapter->GatewayList.IpAddress.String;
  3. u_char *ip_cliente = (u_char *)pAdapter->IpAddressList.IpAddress.String;
  4. u_char ****** = (u_char *)"192";
  5. printf("***** %x\n", *****[0]);
  6. //c0 a8 01 05 -> 192.168.1.5
  7. for (int i = 0; i < strlen((char *)ip_cliente); i++)
  8. printf("%c", ip_cliente[i]);
  9. printf("\n");
  10.  
  11. for (int i = 0; i < sizeof(ip_cliente); i++)
  12. printf("%x", ip_cliente[i]);
  13. printf("\n");
  14.  
  15. //c0 a8 01 01 -> 192.168.1.1
  16. for (int i = 0; i < strlen((char *)ip_gateway); i++)
  17. printf("%c", ip_gateway[i]);
  18. printf("\n");
  19.  
  20. for (int i = 0; i < strlen((char *)ip_gateway); i++)
  21. printf("%x", ip_gateway[i]);
  22. printf("\n");
  23.  
  24.  
  25. for (int i = 0; i < pAdapter->AddressLength; i++)
  26. printf("%x", mac_adaptador[i]);
  27. printf("\n");

Código:
***** 31
192.168.1.5
3139322e
192.168.1.1
3139322e3136382e312e31
7218dbc397da

Salida, compilación sin errores.

Como se puede observar la MAC es correcta, las IPv4 las muestra bien en decimal, pero en hexadecimal la salida no es correcta.

Perdonad, la variable mi.erda sale como **** ;)

Curioso esto funciona:

Código
  1. int primertermino = atoi("192");
  2. stringstream stream;
  3. stream << hex << primertermino;
  4. string result(stream.str());
  5.  
  6. for (int i = 0; i < 3; i++)
  7. printf("%c", result[i]);
  8. printf("\n");

Pero lo tengo en char* no en u_char, y tendría que hacerlo para cada numero separado por punto de la ip.

Código
  1. u_char* ipv4_to_hex(char *ip)
  2. {
  3. u_char ip_hex[4];
  4. in_addr addr;
  5. addr.S_un.S_addr = inet_addr(ip);
  6. ip_hex[0] = addr.S_un.S_un_b.s_b1;
  7. ip_hex[1] = addr.S_un.S_un_b.s_b2;
  8. ip_hex[2] = addr.S_un.S_un_b.s_b3;
  9. ip_hex[3] = addr.S_un.S_un_b.s_b4;
  10. return ip_hex;
  11. }
129  Programación / Programación C/C++ / Compilar tor.exe en C++ en: 22 Junio 2015, 13:55 pm
Hola a todos, me vendría bien que me ayudarais a compilar TOR en visual studio. Este es el código fuente del programa, y viene con numerosos makefiles. La pregunta es:

1. ¿que debo compilar el "branch" o el "tag", y qué diferencias hay entre ellos?.
2. ¿que archivos debería de incluir (los de que directorios) para que compile el programa y que necesito?.

Solo quiero compilar el cliente. Me he estado mirado directorios e incluyendo programas y eso no bajaba de 155 fallos, añadía librerías que faltaban compilaba y otros 155 fallos.

Quizás alguien que lo haya compilado en windows, me pueda ayudar, y decir que requisitos necesito, porque la verdad estoy algo liado.

También otra manera es usando Socks5 y connectando la aplicación a tor.exe 127.0.0.1 y puerto 9051 creo que era, pero si tuviera la opción de compilar tor en mi programa sería mucho mejor que trabajando con 2 programas a la vez (aplicación+tor).

Saludos y gracias, sois bienvenidos.

Edito: Ya iré subiendo código sobre esto conforme me ponga a ello, pero preferiría ser capaz de compilar tor desde el programa, el código que subiría sería de conectar a tor desde la aplicación con socks5 para mandar peticiones desde ella a través de tor.

Saludos y gracias.
130  Comunicaciones / Redes / ¿IP del router termina siempre en .1? en: 20 Junio 2015, 03:14 am
Estoy haciendo un programa y obtengo la IP de mi ordenador en la red, la idea es cortar el .x por .1 para obtener la IP del router. Ejemplo: mi IP es 192.168.1.5 la del router será 192.168.1.1, ¿pero eso es siempre así? Sino alguien conoce un método para obtener la IP del router en cpp, sino ya me las apañaré, perdonaz la duda tonta.

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines