AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

daten über eth0 senden

Ein Thema von schorschy · begonnen am 11. Jul 2007 · letzter Beitrag vom 11. Jul 2007
Antwort Antwort
schorschy

Registriert seit: 11. Jul 2007
2 Beiträge
 
#1

daten über eth0 senden

  Alt 11. Jul 2007, 14:34
hey leute brauch dringend hilfe komme nicht mehr weiter

wir wollen pakete die wir mit ethereal gesnifft haben nun wieder versenden und brauchen dazu ein programm oder tool
leider sind unsere ansätze nicht die besten:

Code:
#include <iostream>
#include <cstdio>
#include <pcap.h>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
   char    filename[128];
   ifstream file;
   char    zeile[1024];

    
   cout << "Datei angeben: " << flush;
   cin.getline(filename, 127);
   cout << filename << endl;
   
   
   const unsigned char *pkt = (const unsigned char*)*filename;
   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;
}
wir stecken ganz gewaltig in der klemme und finden keine möglichkeit dies zu bewerkstelligen da das ganze auf osi-schicht 2 ablaufen muss

also nun zu euch vlt hat einer von euch eine idee ein programm tipps zu anderen programmen oder unseren und kann uns so weiter helfen

mfg peter
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: daten über eth0 senden

  Alt 11. Jul 2007, 15:17
Zitat von schorschy:
hey leute brauch dringend hilfe komme nicht mehr weiter :wall:
also nun zu euch vlt hat einer von euch eine idee ein programm tipps zu anderen programmen oder unseren und kann uns so weiter helfen :coder2:

mfg peter
Hallo,

eure Sprache ist C++ und das BS linux - damit solltet ihr euch an ein "zuständiges" Forum wenden, hier wäre es reiner Zufall, wenn sich jemand damit auch auskennt.

Gruss Reinhard
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: daten über eth0 senden

  Alt 11. Jul 2007, 15:23
Zitat:
damit solltet ihr euch an ein "zuständiges" Forum wenden,
um herauszufinden welches forum das ist besucht bitte http://www.bundesamt-fuer-foren-them...und-threads.de

ne da muss ich meinem vorredner recht geben.

http://www.c-plusplus.de/forum/ <-- die jungs könnten vielleicht mehr wissen *shrug*


gruß
reli
  Mit Zitat antworten Zitat
schorschy

Registriert seit: 11. Jul 2007
2 Beiträge
 
#4

Re: daten über eth0 senden

  Alt 11. Jul 2007, 15:36
dort haben wir auch schon nachgefragt und die kommen auch nicht viel weiter
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: daten über eth0 senden

  Alt 11. Jul 2007, 15:40
was genau funktioniert denn nicht an dem sample?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: daten über eth0 senden

  Alt 11. Jul 2007, 17:49
Hi,
mal ein zwei Anmerkungen:

Erstmal ist der Fehlerpuffer echt mal individuell gewählt. Man sollte hier keinen festen String übergeben, sondern die Adresse eines Speicherbereichs, der einfach groß genug für einen möglichen Fehler ist. Die für C/C++ übliche Form (die auch hier Anwendung findet) ist das deklarieren eines Char-Arrays, dessen Länge durch eine Konstante (max. Fehlerlänge) festgelegt wird.
An sich ist die Funktion pcap_open_live auch mit einem Rückgabewert versehen, diesen solltest Du auch auswerten. Die Doku sagt, dass ein null hier für den Fehlerfall steht und selbst ein erfolgreicher Abschluss kann eine Fehlermeldung mit sich bringen (dies sollte man also ggf. auch prüfen).

Vielleicht solltet ihr auch erstmal schauen, ob überhaupt eth0 für das Capturing in Frage kommt. Versucht mal erstmal alle möglichen Karten auszugeben, müsste ungefährt (ungetestet) so aussehen:

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

using namespace std;

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

  char errbuf[PCAP_ERRBUF_SIZE];
  pcap_if_t **devs;

  if (pcap_findalldevs(devs, errbuf) != 0) {
    cout << "Fehler: \n" << errbuf << "\n";
  }
 
  else {
    pcap_if_t *dev = devs[0];
    cout << "Gefundene Devices: \n";

    while ((*dev) != 0) {
      cout << dev->name;
      dev = dev->next;
    }
  }
}
Wie gesagt, ungetestet (mache zu selten was mit C, kann also sein dass die eine oder andere Indirektion hier falsch ist). Da solltest Du jedenfalls erstmal schauen, ob es überhaupt ein eth0 Device gibt, sonst ist das Device nicht für die Bibliothek geeignet.

Gruß Der Unwissende

PS: Herzlich Willkommen in der DP
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz