Unix Networking Vortragsreihe

Aus LaborWiki
(Weitergeleitet von Vortragsreihe Unix Networking)
Wechseln zu: Navigation, Suche

Intro[Bearbeiten]

Diese Vortragsreihe ist dazu gedacht, Euch mit den verschiedenen Netzwerk APIs der Unixoiden Betriebssysteme vertraut zu machen. Vorausgesetzt werden Basiskenntnisse in der Programmiersprache C. Rudimentäre Kenntnisse über Netzwerke (TCP, UDP, IP(v4))

Während der Vorträge wird anschaulicher Beispielcode generiert und erläutert - Es lohnt sich also den Laptop mitzubringen. Konnektivität gibt es wie immer via WLan oder Lan.

Tag 1[Bearbeiten]

Unix file descriptors[Bearbeiten]

Hier wird zunächst einmal geklärt, wie man auf Datei Deskriptoren in C zugreift und nutzt. Welche Arten es gibt, wie man non-blocking und blocking I/O realisiert, sowie verschiedene Deskriptoren gleichzeitig nutzen kann.

Dauer: 45-60 Min

Folientexsourcecode

Internet Sockets[Bearbeiten]

Bei diesem Vortrag lernt Ihr, wie man TCP und UDP sockets aufmacht und das erste eigene Programm mit Netzwerkfähigkeit schreibt.

Dauer: ca. 60 Min

sockettexfolien

daytime-client-source

daytime-server-source

Die beiden Sourcecode examples habe ich von dem FreeBSD Developer Handbuch

Tag 2[Bearbeiten]

Tun/Tap devices[Bearbeiten]

Die meisten Unixoiden Betriebssysteme bieten inzwischen die Möglichkeit, nicht nur einzelne Verbindungen, sondern auch ganze devices aus dem Userland heraus zu erstellen. Diese können als Grundlage für z.B. eine VPN-Anwendung genutzt werden.

Dauer: 30-45 Min

Beispielcode

Folien

Wir basteln uns eine eigene VPN Applikation[Bearbeiten]

Auf Basis der vorhergehenden Vorträge wird nun eine simple VPN-Applikation erstellt, die ganze IP Pakete via TUN device schluckt, in TCP pakete verpackt und zu einer Gegenstelle überträgt.

Dauer: 60 Min