Hallo zusammen, Ich suche eine Linux Distribution die sich gut für Netzwerkprogrammierung eignet. Sprich ich würde gerne kleine Anwendungen (z.B. Server-Client) selber schreiben, das ganze möglichst Hardwarenahe, so dass ich quasi die Ethernet-Pakete selber aufbauen muss. Ich bin jetzt auf Gentoo gestoßen, hat da jemand von euch schon Erfahrungen mit? Oder kennt vielleicht ein gutes Tutorial (auch mit einer anderen Distribution) wo man sich gut in das Thema einarbeiten kann? Hoffe ich habe verständlich genug geschrieben;) LG
für diesen zweck ist die disti eigentlich absolut egal. Du brauchst nur den GCC zu installieren und kannst loslegen. Aber warum du die packete selber zusammenbauen willst, versteht ich nicht. Aber dafür gibt es den RAW socket.
Unsere Netzwerker fahren total auf FreeBSD ab ... zwar kein Linux ... aber nuja
Bis jetzt gibt es keine Einschränkung der Linux Distribution. Nimm die welche dir am besten liegt. Gentoo ist gut schnell perfekt. Leider ist hier Lernschwelle ziemlich Hoch denn du must dir das ganze erst sleber Kompilieren. Das Kostet Zeit und Nerven. Der Preis ist eine Distri wie du dir sie Wünscht. Wichtiger sind wohl eher die Tools welche deine Linux Distri hat. Raw Socket wurden dir als Tipp schon gegeben. Libpcap und Libnet sind ggf. zwei Weiter welche du dir ansehen solltest.
Hey, super vielen Dank für die schnelle Antworten. Also Raw-Socket ist eigentlich genau das was ich gesucht habe. Wenn ich das richtig verstanden habe kann ich also jede Distribution nehmen, muss dann nur die entsprechenen Header Dateien einbinden, wie z.B. diese,
1 | #include <net/ethernet.h> |
2 | #include <netinet/ip.h> |
3 | #include <netinet/tcp.h> |
wenn ich mir mein Paket komplett selber zusammenbasteln will. Der Hintergrund ist ganz einfach der, dass ich grade dabei bin einen AVR-Webserver zu basteln, naja mein ATMEGA32 ist jetzt aber vom Speicher voll, ich hab aber noch viele Ideen die ich gerne mal ausprobieren würde, da bietet sich dann natürlich ein PC eher an, auch in Hinsicht auf Geschwindigkeit etc. Außerdem interessieren mich die ganzen Basics des Networkings. Also Gentoo hat den Nachteil dass ich mir das komplett selber konfigurieren muss richtig? Habe zwar grundlegende Erfahrungen mit Linux, mehr aber auch nicht. FreeBSD kann ich mir quasi direkt installieren ohne dass ich groß was einrichten muss. Ist wahrscheinlich die bessere Alternative. Etwas doofe Frage vllt, wisst ihr wie das mit Wireshark aussieht? Kann ich das in FreeBSD/Gentoo verwenden? Benutze das gerne um meine Ein-Ausgabe zu kontrollieren.
M. G. schrieb: > Naja nicht wenn ich ARP Pakete verschicken will:) klar, wenn du ein UDP Packet verschickst, dann senden der PC auch ein ARP packet.
M. G. schrieb: > Etwas doofe Frage vllt, wisst ihr wie das mit Wireshark aussieht? Kann > ich das in FreeBSD/Gentoo verwenden? Benutze das gerne um meine > Ein-Ausgabe zu kontrollieren. Doofe Antwort.. http://www.wireshark.org/download.html Ja klar, aber warum schaust du nicht selber nach ?
@Marc D. Danke, hatte schon geschaut, war mir aber nicht sicher. @Peter II Ich möchte mir halt die Möglichkeit offen haben das Paket ganz von "vorne" aufzubauen, sprich Sender und Receiver MAC etc.. Da ich ja bei TCP nur noch die IP und Port etc. angebe hab ich da nicht mehr die Möglichkeit dazu.
M. G. schrieb: > @Peter II > Ich möchte mir halt die Möglichkeit offen haben das Paket ganz von > "vorne" aufzubauen, sprich Sender und Receiver MAC etc.. Da ich ja bei > TCP nur noch die IP und Port etc. angebe hab ich da nicht mehr die > Möglichkeit dazu. Aber warum ist doch die Frage? Da könnstest du auch gleich anfangen der Kernel und den Netzwerktreiber selber zu programmieren. Warum nicht einfach dinge verwenden ist schon funktionieren? UDP ist schon fertig und würde dafür gehen.
M.G. schrieb: >ich hab aber noch viele Ideen die ich gerne mal ausprobieren >würde, da bietet sich dann natürlich ein PC eher an, auch in Hinsicht >auf Geschwindigkeit etc. Außerdem interessieren mich die ganzen Basics >des Networkings. Den Webserver habe ich auch von 0 aufgebaut, klar gibts da zig Codes im Internet die ich einfach kopieren kann aber dadurch versteh ich den Code auch nicht besser oder;)
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.