Avatar billede Slettet bruger
03. juni 2002 - 23:10 Der er 2 kommentarer og
1 løsning

Lidt hjælp

Jeg fatter INTET af c++, men alligevel bliver i nødt til at hjælpe mig:

void PrintPackets(LPPACKET lpPacket)
{

    ULONG    i, j, k, ulLines, ulen, ulBytesReceived;
    char    *pChar, *base;
    char    *buf;
    u_int off=0;
    u_int tlen,tlen1;
    struct bpf_hdr *hdr;
   
        ulBytesReceived = lpPacket->ulBytesReceived;


        buf = lpPacket->Buffer;

        off=0;
        k = 0;

        while(off<ulBytesReceived){   
            if(kbhit())return;
            hdr=(struct bpf_hdr *)(buf+off);
            tlen1=hdr->bh_datalen;
            tlen=hdr->bh_caplen;

            off+=hdr->bh_hdrlen;
   
            ulLines = (tlen + 15) / 16;

            pChar =(char*)(buf+off);
            base=pChar;
            off=Packet_WORDALIGN(off+tlen);
       
            for ( i=0; i<ulLines; i++ )
            {

                ulen=tlen;
                ulen = ( ulen > 16 ) ? 16 : ulen;
               
                for ( j=0; j<ulen; j++, pChar++ ){
                    k++;
                    if(k > 64){
                        printf( "%c", *pChar  );
                    }
                }

            }


        }
}

Dette er en funktion fra en testapp der er fra http://winpcap.polito.it/install/bin/WPdpack_2_3.zip, i forbindelse med WinPCap...

Kan I ikke lige gøre så den kun udskriver data fra pakkerne, ikke headere???
Avatar billede jpk Nybegynder
04. juni 2002 - 08:13 #1
Hmm, det ser da umiddelbart ud som om headeren springes over..?
off+=hdr->bh_hdrlen; // der bliver lavet et offset på headerens længde.
Kan du prøve at vise noget output så jeg bedre kan forstå hvad du mener?
Avatar billede Slettet bruger
04. juni 2002 - 19:42 #2
output er binært....
Avatar billede Slettet bruger
11. juni 2002 - 12:20 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester