Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - soyloqbuskas

#121
Pues nada....a intercambiar programas por p2p....

Si siguen censurando internet de esta manera, llegara a un punto en el que tener internet sea una tonteria y entonces nos lo tendremos que dar de baja.....Si esto ocurre, los ISP perderan millones de € y por consiguiente el estado tambien (en forma de impuestos). Y como el estado va a perder mas dinero del que ya pierde....pues subira los impuestos para poder recuperarse de esta crisis enn la que ellos solitos se han metido....Al final....las revueltas de Grecia solo van a ser el princ¡pio de lo que se avecina.....

Estan intentando controlar a una sociedad que piensa por si misma.....son como padres que intentan controlar a un hijo adolescente sin darse cuenta de que ese hijo esta empezando a pensar por si mismo y que ya va siendo hora de dejarle echar el vuelo....
#122
¡Buenas DaniekL!

Ya he dado con tus problemas.

El 1º esta en la definicion del PATH. No puedes definir el PATH = VALOR, lo tienes que definir como un char *.

Cambia esta linea:
#define PATH = "/home/daniel/.drawsom/wordlist" //El PATH del fichero

Por esta otra:
char * PATH = "/home/daniel/.drawsom/wordlist"; //El PATH del fichero

Y el 2º error lo tienes en el strtstr(). Esta funcion se define de esta manera:
Citarchar *strstr(const char *s1, const char *s2);

Siendo s1 y s2 2 cadenas de caracteres, y lo que hace es buscarte la cadena s1 dentro de la cadena s2. Por tanto no hace falta que recorrars tu la cadena s2 (s2).

Por tanto, tu funcion find() ahora queda asi:

//Funcióm que busca la palabra
void find(int tamano, char *l) {
       FILE *wordlist;
       char letters[13], *aux;
       int check, i; /*check comprueba si la palabra leida contiene las letras que pasamos como argumento.
                     Si check es mayor o igual que el tamaño de la palabra, esta cumple las caracteristicas*/
       strcpy(letters, l);
       letters[12] = '\0';
       wordlist = fopen(PATH, "r");
       if(wordlist == NULL) {
               printf("[Fatal Error!!] while opening wordfile\nAborting...\n");
               exit(0);
       }
       aux = fgets(NULL, 15, wordlist);
       while(aux != NULL) {
               if(strlen(aux) == tamano) { // quitamos el for()
                       if(strstr(aux, letters) != NULL) { //sustituimos el puntero a caracter letters[i] por letters
                                 check++;
                       }
                       
                       if(check >= tamano) {
                               printf("%s\n", aux);
                       }
               }
               aux = fgets(NULL, 15, wordlist);
       }



Un saludo.
#123
Buenas ya he probado lo que me dijeron....y me he dado cuenta de que tengo un problema mas grave que este....Resulta que solo me captura los paquetes que llegan a mi PC, los paquetes que mando yo desde mi PC no los captura......

¿Eso a que se debe?
¿Deberia tener 2 sockets abiertos, 1 para los paquetes de ida y otro para los paquetes de vuelta?

Un saludo.
#124
¡Buenas xkiz!

Prueba con lo siguiente....

string cadena1 = sample;
char * cadena2 = (char *) cadena1;


Para hacer una conversion de tipos en C/C++ solo tienes que poner el tipo al que lo quieres convertir entre parentesis y precedido de la variable a convertir.

Un saludo.
#125
Hacking / Re: Teardrop II
4 Abril 2012, 05:37 AM
¡Buenas!

Por lo que tengo entendido....TEADROP aprovecha una vulnerabilidad en la fragmentacion/reensamblado de TCP.

Mira este enlace a ver si te dice algo:
http://www2.udec.cl/~crmendoz/18.htm

Un saludo.
#126
¡Buenas a todos!

Esto programando un sniffer y tengo un problema con estas funciones. Necesito una funcion del estilo de recv() pero que no necesite que el socket este conectado.

El sniffer en si mismo me funciona muy bien, pero cuando hago un MITM el sniffer no me captura datos pero el wireshark si. Y creo que el problema esta en el recv() que necesista que haya se ejecutado la funcion connect() para que recv() capture los datos.

Asi que mi pregunta es:¿Conoceis alguna funcion equivalente a recv() pero que no sea dependiente de la funcion connect()?

Gracias, un saludo.
#127
¡Buenas CrisQC!

Muchas gracias por tu ayuda. Tenias razon, mi problema estaban en las librerias. En el main.c necesitaba añadir la libreria stdlib.h. Lo del char *, le he declarado como me dijiste (array char) y me ha funcionado tambien, y lo del ether_aton() y el close() solo tuve que añadir la libreria que contenian esas funciones y me ha funcionado tambien! jeje

Lo que no entiendo es como las funciones ether_aton() y close() me funcionaban si tener incluidas las librerias que las contiene....deberia haberme dado errores de compilacion del tipo: "no esta declarada la funcion close()..." Pero imagino que esto se debe a que otras librerias que tengo incluidas acceden de manera indirecta a estas funciones y por eso me compilaba pero con warnings.

Muchas gracias.
#128
Programación C/C++ / Warnings en gcc -Wall
4 Abril 2012, 00:34 AM
¡Buenas a todos!

Tengo los siguientes warnings en gcc y no se porque:

Warning 1:
CitarsendPacket3.c: In function 'CreateEthernetHeader':
sendPacket3.c:120: warning: implicit declaration of function 'ether_aton'

void * sourceMAC;
        sourceMAC =(void *) ether_aton(src_mac);  //linea 120



Warning 2-3
Citar
sendPacket3.c: In function 'sendPacket':
sendPacket3.c:309: warning: pointer targets in assignment differ in signedness
sendPacket3.c:383: warning: implicit declaration of function 'close'


        unsigned char *data;
        int pkt_len;

        //data = CreateData(DATA_SIZE);
        data="<html>HOLA</html>";  //linea 309
        int DATA_SIZE=0;
        DATA_SIZE=17;//strlen((const char *)data);
       
        /**************************************************/

        int raw;
                 // por aqui sigen varias lineas de codigo....
        close(raw);  //linea 383


Warning 4
Citarmain.c: In function 'main':
main.c:16: warning: implicit declaration of function 'atoi'

    int srcPort,destPort, seqnum, acknum, urg,ack,psh,rst,syn,fin;
                srcPort=atoi(argv[3]); //esta es la linea 16...
                destPort=atoi(argv[5]);
                seqnum=atoi(argv[6]);
                acknum=atoi(argv[7]);
                urg=atoi(argv[8]);
                ack=atoi(argv[9]);
                psh=atoi(argv[10]);
                rst=atoi(argv[11]);
                syn=atoi(argv[12]);
                fin=atoi(argv[13]);



¿Alguna idea de como solucionar estos warnings?
#129
Programación C/C++ / CheckSum TCP en C
30 Marzo 2012, 15:46 PM
¡Buenas!

¿Podriais decirme porque no me crea bien el checksum?

/* Tama~o del paquete TCP */
unsigned int buffer_size = sizeof(struct iphdr) + sizeof(struct tcphdr);

/* Buffer de tama~o suficiente para un paquete TCP */
unsigned char buffer[buffer_size];
memset (buffer,0,buffer_size);

/* Cabecera IP */
struct iphdr *ip = (struct iphdr *)buffer;

/* Cabecera TCP */
struct tcphdr *tcp = (struct tcphdr *)(buffer + sizeof(struct iphdr));
/*
   Aqui relleno la cabecera TCP y la de IP
*/
unsigned short CheckSum(unsigned short *buffer, int size)
{
   unsigned long cksum=0;
   while(size >1)
   {
       cksum+=*buffer++;
       size -=sizeof(unsigned short);
   }
   if(size)
       cksum += *(unsigned char*)buffer;

   cksum = (cksum >> 16) + (cksum & 0xffff);
   cksum += (cksum >>16);
   return (unsigned short)(~cksum);
}

tcp->check=CheckSum((unsigned short int*)buffer,buffer_size);



Gracias, un saludo.
#130
¡Buenas a todos!

Bueno, dado mi nivel de mediocridad para el lenguaje C al final no he sabido solucionar el problema....pero he encontrado un enlace espectacular donde esta el codigo que necesitaba bien programado. La verdad es que la info de este blog es buenisima y muy recomendable para la gente que quiera programar socket y aprender sobre estos.

http://dlerch.blogspot.com.es/2007/05/raw-sockets.html

Un saludo.