Winpcap pcap.h TCP Aufzeichnung mit Borland



  • Servus Community,

    hab eine ähnliche Frage schon im Thread "Rund um die Programmierung" gestellt.
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-253403.html

    Möchte gerne mit der Libary von Winpcap, bestimmte TCP-Pakete abfangen und direkt weiterverarbeiten.

    **1.Frage: Habe jetzt das Dev. Kit von Winpcap heruntergeladen, wie compiliere ich das richtig mit dem Embarcadero C++ Builder 2010?

    Würde gerne die Winpcap mit VCL benutzen(zb. Ausgabe in einem Memo Feld etc..), soweit kein Problem oder?**

    Q-8: Can I use WinPcap with Borland development tools?

    A: Note first of all that we support only Microsoft Visual C++, so we are not able to provide help about other compilers.

    If you want to use to Use WinPcap under C++ Builder (version 5.0), you have to use the program COFF2OMF.EXE which can be find in the directory of BORLAND. This program gives the possibility to convert Packet.lib and wpcap.lib (which are in the Visual C++ standart, COFF) to the OMF standart, the one of C++ Builder. For more information type COFF2OMF in the Help of C++ Builder.
    Syntax (in a DOS console) :

    COFF2OMF input.lib output.lib

    In this case case Input.lib = wpcap.lib or packet.lib

    http://www.mirrorservice.org/sites/ftp.wiretapped.net/pub/security/packet-capture/winpcap/misc/faq.htm#Q-8

    Vielen Dank



  • Hallo

    Warum stellst du hier eine Frage, deren Antwort du dann gleich aus einer FAQ noch dazukopierst? Kompilieren must du offenbar nichts, nur die zur dll gehörende lib mit coff2omf konvertieren. Wie es in der FAQ steht.

    bis bald
    akari



  • was mich etwas stützig macht ist folgendes:

    In this case case Input.lib = wpcap.lib or packet.lib

    das or!

    Welche libs genau gemeint sind?



  • Hallo

    Vermutlich sind beide libs vorhanden und müßen mit je einem coff2lib-Aufruf einzeln konvertiert werden. Deswegen or.

    bis bald
    akari



  • Nabend,

    hab es soweit umgesetzt wie beschrieben:

    COFF2OMF wpcap.lib wpcap.lib
    

    hab auch die konvertierte wpcap.lib in meinen Borland Verzeichnis unter dem Ordner LIB abgelegt. Ebenfalls die Header Datein.
    War das schon alles? Oder muss ich irgendwelche Linker einstellungen vornehmen?

    Hab daraufhin folgendes mal ausprobieren wollen:

    #include "pcap.h"
    
    main()
    {
        pcap_if_t *alldevs;
        pcap_if_t *d;
        int i=0;
        char errbuf[PCAP_ERRBUF_SIZE];
    
        /* Retrieve the device list from the local machine */
        if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)
        {
            fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
            exit(1);
        }
    
        /* Print the list */
        for(d= alldevs; d != NULL; d= d->next)
        {
            printf("%d. %s", ++i, d->name);
            if (d->description)
                printf(" (%s)\n", d->description);
            else
                printf(" (No description available)\n");
        }
    
        if (i == 0)
        {
            printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
            return;
        }
    
        /* We don't need any more the device list. Free it */
        pcap_freealldevs(alldevs);
    }
    

    http://www.winpcap.org/docs/docs_411/html/group__wpcap__tut1.html

    Fehler von BCB 2010:

    [BCC32 Fehler] bittypes.h(36): E2238 Mehrfache Deklaration von 'int8_t'
      Vollständiger Parser-Kontext
        File1.cpp(9): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap.h
        pcap.h(45): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap/pcap.h
        pcap.h(41): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap-stdinc.h
        pcap-stdinc.h(53): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\bittypes.h
    [BCC32 Fehler] stdint.h(20): E2344 'int8_t' bereits deklariert
      Vollständiger Parser-Kontext
        File1.cpp(9): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap.h
        pcap.h(45): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap/pcap.h
        pcap.h(41): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\pcap-stdinc.h
        pcap-stdinc.h(53): #include c:\program files (x86)\embarcadero\rad studio\7.0\include\bittypes.h
    [BCC32 Fehler] File1.cpp(19): E2268 Aufruf der undefinierten Funktion 'pcap_findalldevs_ex'
      Vollständiger Parser-Kontext
        File1.cpp(12): Analyse: int main()
    [BCC32 Fehler] File1.cpp(19): E2451 Undefiniertes Symbol 'PCAP_SRC_IF_STRING'
      Vollständiger Parser-Kontext
        File1.cpp(12): Analyse: int main()
    [BCC32 Fehler] File1.cpp(38): E2292 Funktion sollte einen Wert zurückgeben
      Vollständiger Parser-Kontext
        File1.cpp(12): Analyse: int main()
    Misslungen
    

    Wo könnte mein Fehler liegen? Der Quellcode sollte es nicht sein, da 1:1 von der Seite kopiert.
    Hier mal das development paket von winpcap

    http://www.winpcap.org/install/bin/WpcapSrc_4_1_1.zip



  • weiß niemand rat?



  • bitte helft mir doch jemand! 😞



  • In meinem Include-Verzeichnis gibt es keine bittypes.h . Hast du die dahinkopiert?

    Falls das ein WinPcap-Header ist, kann es sein, daß du ihn den Fehlermeldungen entsprechend modifizieren mußt.



  • audacia schrieb:

    In meinem Include-Verzeichnis gibt es keine bittypes.h . Hast du die dahinkopiert?

    Falls das ein WinPcap-Header ist, kann es sein, daß du ihn den Fehlermeldungen entsprechend modifizieren mußt.

    Ja ürsprünglich war bei mir im Include Verzeichnis von BCB10 kein bittypes.h enthalten.
    Habe alles was im Include Ordner vom Winpcap Development Kit in mein BCB2010 hineinkopiert.
    http://www.abload.de/img/unbenanntldnh.jpg

    ----------------------------------------------------------------------------

    Vielen Dank für deinen Tip, wie jedoch modifiziert man das in diesem Fall ?
    Hänge seit Wochen an diesem Problem, bekomm Winpcap nicht zum laufen!


Log in to reply