www.mikrocontroller.net

Forum: PC-Programmierung Eigene Netzwerkpakete generieren


Autor: Thomas Finke (thomas-hn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mir ein Windows-Programm schreiben, welches mir selbst 
definierte Pakete über die Netzwerkkarte versendet bzw. auch Pakete 
empfangen kann. Das Ganze soll unter Win2000/XP laufen. Bei der Wahl der 
Programmiersprache bin ich recht offen...ich nehme da gern Visual Basic, 
Delphi, Visual C,... oder was ihr mir sonst bei dieser Problemstellung 
empfehlen könnt. Es geht mir nur darum, dass ich eben eine Library oder 
ne Beispielanwendung benötige anhand der ich das Ganze angehen kann.
Und ja, das Programm soll selber geschrieben werden und ich will da 
keine fertige Anwendung verwenden ;-)
Mit den Netzwerkprotokollen kenne ich mich soweit aus...das sollte nicht 
das Problem sein. Es geht mir eben hauptsächlich darum wie ich 
selbstdefinierte Pakete über die Netzwerkkarte versenden kann.

Ich hoffe ihr könnt mir da weiterhelfen.

Danke,

Thomas

Autor: *.* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WinPCap (Kerneltreiber + DLL) kann das. Wird auch vom Drahthai 
verwendet.

Autor: sniper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm... WinPCAP braucht er nicht, denke ich. Er will ja einfach nur Daten
versenden und empfangen.

Daher:

für UDP:
socket aufmachen
mit sendto senden
mit recvfrom auf eingehende Daten warten

für TCP:
wie UDP, jedoch auf client Seite bind aufrufen und auf Serverseite
mit listen auf das bind warten

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn er weder UDP noch TCP nehmen will?

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann macht man das ganze einfach mit einem raw-socket

Autor: Thomas Finke (thomas-hn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Daher:
>
> für UDP:
> socket aufmachen
> mit sendto senden
> mit recvfrom auf eingehende Daten warten
>
> für TCP:
> wie UDP, jedoch auf client Seite bind aufrufen und auf Serverseite
> mit listen auf das bind warten

Gibt's denn dafür nen Beispielcode? Meine Windows-Programmierkenntnisse 
kommen nicht an meine Kenntnisse von Mikrocontrollern ran ;-)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Niegl wrote:

> dann macht man das ganze einfach mit einem raw-socket

Wobei Microsoft den ursprünglich einfachen Zugang dazu irgendwann 
gesperrt hatte, weil das allzu leicht missbraucht werden konnte.

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja, keine ahnung ob u wie das unter windows geht, ich kenn das nur 
auf unix-systemen, da geht das ohne problem

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man wird sich wundern was so ein DSL-Anschluss unter der Haube an Daten 
schiebt. Ausspioniert wird in ganz kleinen Raten. Früher gabs mal 
Ethereal heute weiss ich nicht was das noch anzeigt (darf).

http://www.ethereal.com/

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guck die mal http://www.zotteljedi.de/doc/socket-tipps/ an das ist ganz 
gut erklärt (wenns denn TCP oder UDO sein soll)

RAW Sockets:
http://www.c-worker.ch/tuts/raw_icmp.php

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jorge wrote:
> Früher gabs mal
> Ethereal

und heute gibt es Wireshark.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
solange man sich auf IP beschränkt, ist NetCat ziemlich gut(TCP / UPD 
etc. in listen und send mode.....).

Gruß
Sebastian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.