Hallo! Fuer eine Anwendung moechte ich einzelne MAC-Pakete versenden. Verwendet werden soll C++. Ich habe schon erfahren, wie man das per UDP und TCP macht, aber gehts auch weiter unten im OSI-Modell? Kann ich zum beispiel (wenn 2 PCs ueber gekreuztes Ethernetkabel direkt verbunden sind) an eine MAC-Adresse (logischerweise die der Gegenstelle) eine Zeichenfolge zukommenlassen? Bei Mikrocontrollern (so ala AVR mit ENC28j60) geht das, aber kann man das in einer hochsprache auch dem PC? Danke fuer Tipps, bin auch nur fuer die richtigen Google-Suchbegriffe dankbar... Gruesse
Schau dir mal die libpcap (oder winpcap, falls du Windows benutzen solltest) an, die kann direkt Pakete senden, und kapselt das ganze Betrübsystem-interne schön weg. http://www.tcpdump.org/pcap.htm
Herzlichen Dank, ich werde die mal testen ob ich mit dem was hin bekomme, sonst melde ich mich nochmal...
Hallo! Ich habe mal mit den Examples vonn winpcap rumgespielt. Die kriege ich zum laufen. Ich möchte aber ein Programm mit einer GUI erstellen und nicht so ein Konsolen-Ding und da wollte ich mal ein Beispiel (mit änderungen, dass die z.B. die empfangenen Pakete in einer Textbox angezeigt werden) in eine CLR/Win32 Applikation einbinden. Beim compilieren resp. beim Linken kommt aber ein Fehler folgender Art: Error 6 error LNK2019: unresolved external symbol "extern "C" int __clrcall pcap_findalldevs(struct pcap_if ,char *)" (?pcap_findalldevs@@$$J0YMHPAPAUpcap_if@@PAD@Z) referenced in function "private: void __clrcall TestWin32::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@TestWin32@@$$FA$AAMXP$AAVObject@System@@P$AAVEvent Args@4@@Z) TestWin32.obj TestWin32 Hat von Euch schon mal jemand etwas hingekriegt mit diesem WinPcap-Ding und graphischer Oberfläche? Weiss jemand eine Lösung zum Problem? Das wär super...
hast du die lib den auch als Input für den Linker hinzugefügt? Es gibt auch einen C# Wrapper für winpcap auf Sourceforge, der macht die Nutzung in der CLR bzw. unter C# um einiges einfacher.
Hallo! Ja, das habe ich (glaube ich zuindest) mit folgenden Zeilen:
1 | #pragma comment(lib, "ws2_32.lib")
|
2 | #pragma comment(lib, "wpcap.lib")
|
Die Fehlermeldungen sind auch nicht mehr die gleichen, wenn ich die Zeilen weglasse. Also schon noch Linker-Errors aber nicht exakt die gleichen. Es gibt unter den Project-Settings die Möglichkeit dem Linker zusätzliche Dateien anzugeben. Doch da steig ich irgendwie nicht durch: wie kann ich unter additional dependies dateien auswählen? Da kann ich nicht beliebige auswählen, nur einige die mich aber irgendwie nicht interessieren... Ich gebs jetzt dann auf :(
die Libs müssen auch gefunden werden, kopiere die libs mal in das Projektverzeichnis.
OK, das habe ich hinbekommen... Ich frage mich jetzt, ob der Code mit der libcap-Library portierbar ist auf Linux. Habe leider grad keinen PC mit Linux drauf. Aber hat da jemand Erfahrung mit? Ziel wäre es, den gleichen Code für Linux und Windows zu kompilieren (jeweils auf dem entsprechenden System). Leider konnte ich per google keine sicheren Resultate in Erfahrung bringen. Da ist oft recht konfus von libpcap und winpcap die rede, aber was wie zu einander steht ist mir noch schleierhaft. Und ich möchte nicht einen Haufen Arbeit in das Ding steckum dann von Euch zu erfahren, dass es mit was anderem viel einfacher gewesen wäre. Kann da jemand Licht ins Dunkel bringen? Ist das mit der LibPcap möglich oder wo liegt der Unterschied?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.