Veranstaltung/Unix Networking 2
Intro
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
Unix file descriptors
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
Internet Sockets
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
Die beiden Sourcecode examples habe ich von dem FreeBSD Developer Handbuch
Tag 2
Tun/Tap devices
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
Wir basteln uns eine eigene VPN Applikation
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