Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » datein versenden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
09.07.2007, 14:13 Uhr
~schorschy
Gast


CMTS---------JACK
___------------___
I___I----------I___I
---------i-------------
-------_i__-----------
-------I___I-----------
-----ETHEREAL-----
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
10.07.2007, 12:19 Uhr
~schorschy
Gast


so leute habe die fkt endlich gefunden und dazu gebracht kein fehler mehr zu geben aber es klapt nicht ganz




C++:
#include <iostream>
#include <pcap.h>
#include <stdio.h>


using namespace std;

int main(int argc, char *argv[])
{

    const u_char *pkt;

    pkt =(u_char*)"hallo";
    
    int buffer_len;        

    pcap_t *my_capture_descriptor;
    
    pcap_sendpacket(my_capture_descriptor,pkt,sizeof(pkt));
    
    int result = 1;
    
}





eigendlich müste zum schluss ja eine meldung kommen ob es geklappt hat oder nicht (also 1 oder 0) aber eskommt gar nichts

Dieser Post wurde am 10.07.2007 um 12:52 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
10.07.2007, 12:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja 6 Sachen:

1. falscher cast bei pkt, wenn dann (const u_char*)
2. my_capture_descriptor ist undefiniert, da musste schon erst pcap_open oder sowas machen
3. sizeof(pkt) liefert dir 4, da pkt ein pointer ist.
4. die result-anweisung ist sinnfrei - in C/C++ gibt man den return-Wert mit return zurück.
5. Ausgeben tut er gar nix, er setzt dann höchstens den Exitstatus in der Shell, denn man sich dann z.b mit echo $? ansehen kann.
6. stdio.h ist C - cstdio ist C++


C++:
#include <iostream>
#include <cstdio>
#include <pcap.h>

int main(int argc, char *argv[])
{
   const unsigned char *pkt = "hallo";
   unsigned int pkt_length = 6; // hier ist die länge z.b 6
   pcap_t *my_capture_descriptor;

   // hier my_capture_descriptor initialisieren lassen
   my_capture_descriptor = pcap_open_live(...);
   // prüfen ob das geklappt hat

   if(pcap_sendpacket(my_capture_descriptor, pkt, pkt_length) < 0)
     return 1; // Fehler wenn pcap was kleineres als 0 zurückliefert (nach manpage)

   return 0; // 0 sagt eigentlich nach definition "ok"
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
10.07.2007, 13:39 Uhr
~schorschy
Gast


man da bin ich dir dankbar freu mich gerade urst darüber werde gleich mal weiter machen und mich melden wenn noch ein fehler auftaucht oder es klappt



mal so wie es von dir ist durchlaufen lassen:

**** Build of configuration Default for project helloworldecpp ****

make all
g++-4.0 -c main.cpp
main.cpp: In function »int main(int, char**)«:
main.cpp:7: Fehler: ungültige Umwandlung von »const char*« in »const unsigned char*«
main.cpp:12: Fehler: expected primary-expression before »...« token
make: *** [main.o] Fehler 1

mit der 2 zeile kann ich gerade nix anfangen (main.cpp:7 woran liegt das sry wenn ich auf dem schlauch stehe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
10.07.2007, 13:54 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
const unsigned char *pkt = (const unsigned char*)"hallo";


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
10.07.2007, 14:30 Uhr
~schorschy
Gast


mal ein zwichenstand vlt fällt dir was auf was ich noch nicht seh


C++:
#include <iostream>
#include <cstdio>
#include <pcap.h>

int main(int argc, char *argv[])
{
   const unsigned char *pkt = (const unsigned char*)"hallo";
   unsigned int pkt_length = 6; // hier ist die länge z.b 6
   pcap_t *my_capture_descriptor;
char *errbuf="fehler";
   // hier my_capture_descriptor initialisieren lassen
   my_capture_descriptor = pcap_open("eth0",2000,1,1000,NULL,errbuf);
  
  
      
  
   // prüfen ob das geklappt hat

   if(pcap_sendpacket(my_capture_descriptor, pkt, pkt_length) < 0)
     return 1; // Fehler wenn pcap was kleineres als 0 zurückliefert (nach manpage)

   return 0; // 0 sagt eigentlich nach definition "ok"
}





Bearbeitung:

Codetags verwenden!


Dieser Post wurde am 10.07.2007 um 16:43 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
10.07.2007, 14:45 Uhr
~schorschy
Gast


so hab noch einproblem soweit glaube ich fertig aber dann kommt ne fehlermeldung



C++:
#include <iostream>
#include <cstdio>
#include <pcap.h>

int main(int argc, char *argv[])
{
   const unsigned char *pkt = (const unsigned char*)"hallo";
   unsigned int pkt_length = 6; // hier ist die länge z.b 6
   pcap_t *my_capture_descriptor;

  char *errbuf="fehler";  
   my_capture_descriptor = pcap_open("eth0",2000,1,1000,NULL,errbuf);
  
  
   if(pcap_sendpacket(my_capture_descriptor, pkt, pkt_length) < 0)
     return 1; // Fehler wenn pcap was kleineres als 0 zurückliefert (nach manpage)

   return 0; // 0 sagt eigentlich nach definition "ok"
}





FEHLER:

main.cpp:12: Fehler: »pcap_open« wurde in diesem Gültigkeitsbereich nicht definiert


Bearbeitung:

Codetags verwenden!


Dieser Post wurde am 10.07.2007 um 16:43 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
10.07.2007, 14:54 Uhr
~schorschy
Gast


sry habe open genommen und nicht open live und keine ahnung warum er mein code nicht als code anzeigt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
10.07.2007, 15:08 Uhr
~schorschy
Gast


okay der fehler ist auch weg *G*

si sieht es bis jetzt aus :

Code:
#include <iostream>
#include <cstdio>
#include <pcap.h>

int main(int argc, char *argv[])
{
   const unsigned char *pkt = (const unsigned char*)"hallo";
   unsigned int pkt_length = 6;
  
   pcap_t *my_capture_descriptor;

   char *errbuf="fehler";
   my_capture_descriptor = pcap_open_live("eth0",2000,1,1000,errbuf);
  
  

   if(pcap_sendpacket(my_capture_descriptor, pkt, pkt_length) < 0)
     return 1;

   return 0;
}


aber noch ein problem er gibt nix aus ich übergebe ja ein hallo wie bekomme ich das jetzt hin das er ein paket übergibt und mir mit 0 oder 1 anzeigt ob es geklappt hat oder nicht vlt hat einer von euch noch ne lösung für mich über
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: