C Training für die Linux / UNIX Netzwerk-Entwicklung
Praxisnahe Socket-Programmierung in C für robuste Linux- und UNIX-Netzwerkdienste
Die wichtigsten Themen
TCP- und UDP-Sockets in C
IPv4/IPv6 mit getaddrinfo
Nicht blockierende I/O
Mehrere Clients verwalten
TLS und sichere Kommunikation
RPC und Bestandsumgebungen
Überblick Diese Schulung vermittelt die praktische Netzwerkprogrammierung in C für Linux- und UNIX-Systeme. Im Mittelpunkt stehen robuste Client/Server-Anwendungen, POSIX-Sockets, TCP- und UDP-Kommunikation, IPv4/IPv6, nicht...
Diese Schulung vermittelt die praktische Netzwerkprogrammierung in C für Linux- und UNIX-Systeme. Im Mittelpunkt stehen robuste Client/Server-Anwendungen, POSIX-Sockets, TCP- und UDP-Kommunikation, IPv4/IPv6, nicht blockierende I/O sowie sichere Verbindungen mit TLS. Die Teilnehmer lernen, Netzwerkdienste strukturiert zu entwerfen, typische Fehlerquellen zu erkennen und produktionsnahe C-Programme für mehrere parallele Clients umzusetzen.
Der Kurs richtet sich an Entwickler, Systemprogrammierer und technische Teams, die Netzwerksoftware auf Linux- oder UNIX-Plattformen entwickeln, warten oder modernisieren. Dabei werden klassische UNIX-Konzepte mit aktuellen Best Practices verbunden: saubere Fehlerbehandlung, Timeouts, Ressourcenverwaltung, Authentifizierung, Datenintegrität und sicherer Umgang mit Verbindungsabbrüchen. Wer Grundlagen in Shell und Systemumgebung auffrischen möchte, findet mit der Linux / UNIX Shellprogrammierung Grundkurs Schulung eine passende Ergänzung. Für Administratoren mit Netzwerkschwerpunkt bietet sich außerdem Linux Aufbaukurs: Linux im Netz an. Sicherheitsaspekte lassen sich anschließend im Linux Security Intensivkurs vertiefen.
Die Themen Tag 1: Grundlagen der Linux/UNIX-Netzwerkprogrammierung Netzwerkmodelle, Protokollfamilien und typische Einsatzszenarien für C-Anwendungen · POSIX-Socket-API, Dateideskriptoren, Socket-Adressen und Portbindung...
- Tag 1: Grundlagen der Linux/UNIX-Netzwerkprogrammierung
- Netzwerkmodelle, Protokollfamilien und typische Einsatzszenarien für C-Anwendungen
- POSIX-Socket-API, Dateideskriptoren, Socket-Adressen und Portbindung
- Namensauflösung mit getaddrinfo und getnameinfo für IPv4 und IPv6
- Aufbau einfacher TCP-Clients und TCP-Server mit sauberer Fehlerbehandlung
- Tag 1: TCP, UDP und Client/Server-Architekturen
- Verbindungsorientierte Kommunikation mit socket, bind, listen, accept und connect
- Datagrammkommunikation mit UDP, recvfrom und sendto
- Protokolldesign, Nachrichtenrahmen, Byte-Reihenfolge und Serialisierung
- Timeouts, Wiederholungen und Umgang mit Verbindungsabbrüchen
- Tag 2: Nebenläufigkeit und mehrere Clients
- Blockierende und nicht blockierende Sockets im Vergleich
- I/O-Multiplexing mit select, poll und epoll unter Linux
- Servermodelle mit Prozessen, Threads und ereignisorientierter Verarbeitung
- Ressourcenverwaltung, Limits, Logging und kontrolliertes Beenden von Diensten
- Tag 2: Verteilte Dienste und RPC-Einordnung
- Grundprinzipien verteilter Anwendungen und Remote Procedure Calls
- Einordnung von ONC RPC und rpcgen in bestehenden UNIX-Landschaften
- Abgrenzung historischer Ansätze wie TLI/Streams und CORBA von aktuellen Socket-basierten Konzepten
- Lastverteilung, Service-Schnittstellen und robuste Kommunikation zwischen Prozessen
- Tag 3: Sicherheit, Authentifizierung und TLS
- Bedrohungsmodell für Netzwerkdienste in C und sichere Eingabeverarbeitung
- Verschlüsselte Kommunikation mit TLS und Zertifikatsprüfung
- Authentifizierung, Nachrichtenintegrität, Signaturen und sichere Schlüsselverwaltung
- Härtung von Serverprozessen, Rechtebegrenzung und sichere Default-Einstellungen
- Tag 3: Praxis, Fehlersuche und robuste Umsetzung
- Analyse typischer Fehler in Netzwerkcode, Race Conditions und Ressourcenlecks
- Diagnose mit Systemwerkzeugen, Logging und reproduzierbaren Tests
- Praxisübungen zu Clients, Servern, Multiplexing und gesicherter Kommunikation
- Review von Architekturentscheidungen für wartbare C-Netzwerkdienste
Wer hier richtig ist
- C-Entwickler und Systemprogrammierer, die Netzwerkdienste, Clients oder Middleware unter Linux und UNIX entwickeln
- Softwareentwickler in Embedded-, Industrie-, Telekommunikations- oder Infrastrukturprojekten mit C-basierten Netzwerkkomponenten
- Administratoren mit Entwicklungsaufgaben, die bestehende Netzwerkprogramme analysieren, warten oder erweitern
- DevOps- und Plattformteams, die eigene Agenten, Daemons oder Schnittstellen auf Linux-Systemen betreuen
- Technische Projektteams, die Legacy-Code mit RPC, Sockets oder UNIX-Diensten verstehen und modernisieren müssen
Das lernst du
- Eigene TCP- und UDP-Clients sowie Server in C unter Linux/UNIX implementieren
- IPv4- und IPv6-fähige Netzwerkprogramme mit getaddrinfo und POSIX-Sockets erstellen
- Nicht blockierende Kommunikation und I/O-Multiplexing gezielt einsetzen
- Mehrere parallele Clients in Serveranwendungen kontrolliert verarbeiten
- Netzwerkfehler, Timeouts, Verbindungsabbrüche und Ressourcenprobleme systematisch behandeln
- TLS, Authentifizierung und Integritätsprüfungen in die Architektur von Netzwerkdiensten einordnen
- Bestehenden C-Netzwerkcode fachlich beurteilen, erweitern und sicherer gestalten
So arbeiten wir
Der Unterricht verbindet fachliche Einführung, Live-Demonstrationen und praktische Programmierübungen. Die Teilnehmer arbeiten an nachvollziehbaren Beispielen, die typische Aufgaben aus der Linux- und UNIX-Netzwerkentwicklung abbilden.
- Erklärungen der zentralen APIs anhand lauffähiger C-Beispiele
- Hands-on-Übungen zu TCP, UDP, Multiplexing, TLS und Fehlerbehandlung
- Gemeinsame Analyse typischer Probleme in Client/Server-Anwendungen
- Code-Reviews mit Hinweisen zu Wartbarkeit, Sicherheit und Portabilität
- Praxisnahe Aufgabenstellungen für den Transfer in eigene Entwicklungsprojekte
- Raum für Fragen zu bestehenden Architekturen, Legacy-Code und UNIX-Umgebungen
Empfohlene Vorkenntnisse
- Gute Kenntnisse der Programmiersprache C, insbesondere Zeiger, Speicherverwaltung, Strukturen und Fehlerbehandlung
- Grundkenntnisse in Linux oder UNIX, Shell-Nutzung, Prozessmodell und Dateideskriptoren
- Basiswissen zu TCP/IP, Ports, Clients, Servern und grundlegenden Netzwerkbegriffen
- Erfahrung mit Compiler, Makefiles oder Build-Prozessen ist hilfreich
- Für fehlende Administrationsgrundlagen eignet sich der Linux Aufbaukurs: Administration und Systemmanagement als Vorbereitung
Dein Fahrplan
Der erste Tag vermittelt die Grundlagen der Netzwerkprogrammierung unter Linux und UNIX. Behandelt werden Protokolle, Adressfamilien, Ports, POSIX-Sockets, Namensauflösung und der Aufbau einfacher TCP- und UDP-Anwendungen.
- Einordnung von TCP/IP, UDP und Client/Server-Modellen
- Socket-Erzeugung, Adressierung, Bindung und Verbindungsaufbau
- IPv4/IPv6-fähige Programmierung mit getaddrinfo
- Erste Praxisübungen zu Client und Server in C
Organisatorisches
Lernformate
Unsere Seminare bieten dir maximale Flexibilität: Du kannst zwischen Live-Online und Vor Ort in unseren modernen Schulungszentren im D-A-CH Raum wählen. Beide Formate garantieren dir die gleiche hohe Qualität und interaktive Lernerfahrung.
Schulungsarten
Wir bieten dir verschiedene Schulungsarten: Offene Seminare, Firmenseminare für Teams und Inhouse-Schulungen direkt bei dir vor Ort. So findest du genau das Format, das zu deinen Bedürfnissen passt.
Aktuelle Software
In unseren offenen Kursen arbeiten wir mit der aktuellsten Software-Version. So lernst du direkt mit den Tools und Features, die du auch in deinem Arbeitsalltag verwendest - praxisnah und zukunftsorientiert. Bei Inhouse- und Firmenschulungen bestimmt ihr die Version.
Deine Vorteile
Zufriedenheitsgarantie
Wir sind von unserer Qualität überzeugt. Sollte ein Training einmal nicht deinen Erwartungen entsprechen, bieten wir dir an, den Kurs kostenlos zu wiederholen oder ein anderes Training zu besuchen. Ohne Risiko, ohne Diskussion.
Inklusivleistungen
Deine Teilnahme beinhaltet: Schulungsmaterial, Zertifikat, Verpflegung (bei Präsenzveranstaltungen) und persönliche Betreuung durch unsere Trainer und unser Orga-Team. Alles aus einer Hand - keine versteckten Kosten.
Lernen von Experten
Unsere Trainer sind zertifizierte und erfahrene Profis mit jahrelanger Berufserfahrung. Sie vermitteln dir in den Kursen nicht nur theoretisches Wissen, sondern teilen ihre Erfahrungen aus realen Projekten und helfen dir, das Gelernte direkt in deiner täglichen Arbeit anzuwenden. Das ist kein Werbeversprechen, sondern unser Anspruch. Am besten siehst du das in unseren Bewertungen, z.B. auch bei Google.
Keine Vorkasse
Du zahlst erst nach dem Seminar. Keine Vorkasse, keine Vorauszahlung - so kannst du sicher sein, dass du nur für das bezahlst, was du auch wirklich erhalten hast. Die Rechnung erhältst du erst nach Kursbeginn.
Max. 8 Teilnehmende
Wir setzen auf kleine Gruppen, damit du die Aufmerksamkeit bekommst, die du verdienst. So haben wir mehr Zeit für deine individuellen Fragen und können gezielt auf deine Bedürfnisse eingehen.
Termine & Buchung
Vor Ort
Online
Nicht der passende Termin dabei?
Wir finden eine Lösung: anderer Termin, mehrere Teilnehmer, Inhouse-Schulung oder individuelle Beratung.
Lieber gleich das ganze Team schulen?
Diese Schulung gibt es auch exklusiv für dein Unternehmen, bei euch vor Ort, an unseren Standorten oder Live-Online. Inhalte und Termine nach Maß.
Inhouse-Schulung
Wir kommen zu euch: diese Schulung maßgeschneidert in euren Räumen, für Unternehmen und Behörden.
- Inhalte exakt auf euch zugeschnitten
- Termine nach euren Bedürfnissen
- Günstiger ab mehreren Teilnehmern
- Vertraute Umgebung, kein Reiseaufwand
Firmen-Seminar
Exklusiv für dein Team an einem unserer Standorte oder Live-Online, individuell angepasst.
- Geschlossene Gruppe aus eurem Haus
- Individuelle Terminplanung
- An unseren Standorten oder Live-Online
- Angepasste Inhalte
Fragen und Antworten zu C Training für die Linux / UNIX Netzwerk-Entwicklung
Welche Inhalte behandelt die C Netzwerkprogrammierung Schulung?
Die Schulung behandelt POSIX-Sockets, TCP und UDP, IPv4/IPv6, Client/Server-Architekturen, nicht blockierende I/O, Multiplexing mit select, poll und epoll sowie sichere Kommunikation mit TLS. Ergänzend werden RPC-Konzepte, Fehlerbehandlung und robuste Serverarchitekturen eingeordnet.
Welche C-Kenntnisse sind für das Seminar erforderlich?
Erforderlich sind sichere Grundlagen in C, insbesondere Zeiger, Speicherverwaltung, Strukturen, Header-Dateien, Compiler-Nutzung und Fehlerbehandlung. Kenntnisse in Linux oder UNIX sind ebenfalls wichtig, da Netzwerkprogrammierung eng mit Dateideskriptoren, Prozessen und Systemaufrufen verbunden ist.
Geht es im Training um Linux, UNIX oder beides?
Der Schwerpunkt liegt auf portablen POSIX-Konzepten, die für Linux und viele UNIX-Systeme relevant sind. Linux-spezifische Erweiterungen wie epoll werden dort behandelt, wo sie für leistungsfähige Serveranwendungen sinnvoll sind.
Werden TCP und UDP praktisch programmiert?
Ja. Die Teilnehmer erstellen eigene Clients und Server, setzen TCP für verbindungsorientierte Kommunikation ein und nutzen UDP für Datagramm-basierte Szenarien. Dabei werden auch Fehlerfälle, Timeouts, Wiederholungen und Nachrichtenformate berücksichtigt.
Wird verschlüsselte Kommunikation mit TLS behandelt?
Ja. Das Seminar zeigt, wie TLS in C-Netzwerkprogramme eingeordnet wird, welche Rolle Zertifikate und Vertrauensketten spielen und welche typischen Fehler beim Aufbau sicherer Verbindungen vermieden werden sollten.
Ist die Schulung auch für die Wartung von Legacy-Code geeignet?
Ja. Bestehende UNIX-Umgebungen mit RPC, älteren Servermodellen oder historisch gewachsenen Schnittstellen werden berücksichtigt. Moderne POSIX-Socket-Konzepte werden so vermittelt, dass bestehender Code besser verstanden, stabilisiert und schrittweise modernisiert werden kann.
Welche Anschluss-Schulung passt nach diesem Seminar?
Für den weiteren Ausbau von Linux-Netzwerkkompetenz ist die Linux Netzwerkadministration Advanced Schulung eine passende Ergänzung. Für sicherheitskritische Dienste eignet sich zusätzlich ein vertiefendes Linux-Security-Training.
Weitere häufig gestellte Fragen und Antworten findest du in den FAQs .
Unser Qualitätsversprechen: Wissen, das in der Praxis funktioniert
Aus der Praxis für die Praxis
Schluss mit theoretischem Ballast. Wir trainieren dich für reale IT-Herausforderungen, nicht für Multiple-Choice-Tests. Unsere Trainer vermitteln dir genau das Wissen, das am nächsten Montagmorgen im Job wirklich funktioniert.
Individuell statt "Schema F"
Deine Fragen passen nicht ins Standard-Skript? Bei uns schon. Wir verzichten auf starre Lehrpläne und geben deinen konkreten Projekt-Fragen Raum. Unsere Trainer passen die Inhalte flexibel an das an, was dich und dein Team aktuell weiterbringt.
Maximale Freiheit: Remote oder vor Ort
Lerne so, wie es in deinen Alltag passt - ohne Reise-Stress und Zeitverlust. Egal ob remote, hybrid oder präsent vor Ort: Wir garantieren dir ein nahtloses und effektives Lernerlebnis, egal von wo du dich zuschaltest.
Mit Zufriedenheitsgarantie
Wir sind von unserer Qualität überzeugt - und wollen, dass du es auch bist. Sollte ein Training einmal nicht deinen Erwartungen entsprechen, bieten wir dir an, den Kurs kostenlos zu wiederholen oder ein anderes Training zu besuchen. Ohne Risiko, ohne Diskussion.
Über 20.000 Unternehmen und Behörden vertrauen auf uns