Veranstaltung/Unix Networking 1: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Zeile 21: Zeile 21:


Dauer: 30-45 Min
Dauer: 30-45 Min
Beispielcode: [http://nopaste.php-quake.net/7158 hier]


=== Wir basteln uns eine eigene VPN Applikation ===
=== Wir basteln uns eine eigene VPN Applikation ===

Version vom 16. Oktober 2007, 18:02 Uhr

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

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

Beispielcode: hier

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