Grin logo
de en es fr
Shop
GRIN Website
Texte veröffentlichen, Rundum-Service genießen
Zur Shop-Startseite › Informatik - Programmierung

Client-Server-Socket Programmierung: Unterstützung in unterschiedlichen Programmiersprachen

Mit Fallbeispielen

Titel: Client-Server-Socket Programmierung: Unterstützung in unterschiedlichen Programmiersprachen

Studienarbeit , 2013 , 31 Seiten , Note: 2.0

Autor:in: Daniel Szameitat (Autor:in), Martin Haug (Autor:in), Christian Bosch (Autor:in)

Informatik - Programmierung
Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

Das OSI-Modell (Open Systems Interconnection) ist ein Modell der International
Organization for Standardization (ISO) zur Standardisierung der Kommunikation in
Rechnernetzen. Es ordnet gegebene Dienste einer von sieben Schichten zu, wobei
Dienste einer höheren Schicht die Dienste der darunterliegenden Schicht aufrufen
können. Zum Beispiel kann ein Dienst der eine eindeutige Identifizierung von
Netzwerkgeräten bereitstellt von der höheren Schicht aufgerufen werden um Daten an ein
so identifiziertes Netzwerkgerät zu senden.

Leseprobe


Inhalt der Ausarbeitung

1 Einführung

1.1 OSI-Modell

1.2 TCP/IP

1.2.1 IPv4

1.2.2 IPv6

1.2.3 Transmission Control Protocol

1.3 Verbindungen

1.4 Portnummern

1.5 User Datagram Protocol

1.6 Domain Name System

1.6.1 Aufbau des DNS

1.6.2 Namensauflösung

1.7 Sicherheit

1.7.1 Transport Layer Security

1.7.2 Hypertext Transfer Protokoll

2 Grundlagen von Sockets

2.1 Arten von Sockets

2.2 Ablauf der Socket-Kommunikation

2.3 Nützliche Tools

2.3.1 Netstat

2.3.2 Netcat

3 Implementierung von Sockets

3.1 Eine einfache Client-Anwendung in C

3.2 Eine einfache Server-Anwendung in C

3.3 Cross-Plattform-Development in C und C++

3.4 Cross-Plattform-Development in Java

3.4.1 Allgemeines

3.4.2 Klassen und Methoden der Java-Standard-API

3.5 Vom Sockets zum Port-bindender Shellcode

3.6 Sicherheit

Zielsetzung & Themen

Die Arbeit untersucht die Client-Server-Socket-Programmierung und demonstriert deren praktische Implementierung in verschiedenen Programmiersprachen. Ziel ist es, ein tiefgreifendes Verständnis für die Netzwerkkommunikation auf Socket-Ebene zu schaffen und die Unterschiede sowie Gemeinsamkeiten in der Programmierung unter verschiedenen Betriebssystemen und Sprachen aufzuzeigen.

  • Grundlagen der Netzwerkprotokolle (OSI-Modell, TCP/IP, DNS)
  • Architektur und Funktionsweise von Sockets
  • Socket-Implementierung in C und C++ unter Berücksichtigung von Cross-Plattform-Aspekten
  • Socket-Programmierung und Objekttransfer mit der Java-Standard-API
  • Sicherheitsaspekte und die Analyse von systemnahem Shellcode

Auszug aus dem Buch

3.3 Cross-Plattform-Development in C und C++

Möchte man Sockets Plattform - übergreifend unter Windows und Linux einsetzen, muss man einpaar Dinge beachten. Zwar ist das Konzept der Sockets ursprünglich an einer unabhängigen Universität entwickelt worden und wird weitestgehend einheitlich verwendet, aber trotzdem gibt es kleine Unterschiede zwischen Linux und Windows.

Beim Client und beim Server muss unter Windows die Funktion „WSAStartup“ immer als erstes aufgerufen werden. Mit Hilfe dieser Funktion wird der Socket initialisiert. Diese Funktion erlaubt es dem Entwickler, bei Bedarf, explizit ältere Implementierungen der Sockets anzusteuern. Dementsprechend muss auch beim Schließen darauf geachtet werden, dass die Funktion „WSACleanup“ zusätzlich aufgerufen wird. Damit man wegen dieser kleinen Unterschiede nicht extra ein neues Programm schreiben muss, kann mit Präprozessor-Anweisungen umgebungsspezifischer Code kompiliert werden.

Zusammenfassung der Kapitel

1 Einführung: Dieses Kapitel erläutert die theoretischen Grundlagen der Netzwerkkommunikation, einschließlich des OSI-Modells, der TCP/IP-Protokollfamilie, DNS sowie relevanter Sicherheitsmechanismen wie TLS und HTTP.

2 Grundlagen von Sockets: Hier werden das Konzept von Sockets als Betriebssystemschnittstelle, die verschiedenen Socket-Typen und der allgemeine Ablauf der Socket-Kommunikation in einem Client-Server-Modell beschrieben.

3 Implementierung von Sockets: Dieser Hauptteil bietet konkrete Programmierbeispiele für Sockets in C und Java, behandelt Herausforderungen der plattformübergreifenden Entwicklung und beleuchtet die Rolle von Sockets im Kontext von IT-Sicherheit und Shellcode.

Schlüsselwörter

Socket, Programmierung, Client-Server-Modell, C, Java, TCP, UDP, Netzwerke, OSI-Modell, Cross-Plattform, Shellcode, IT-Sicherheit, Netzwerkprotokolle, Datenübertragung, IP-Adressen

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit behandelt die Implementierung von Client-Server-Anwendungen unter Verwendung von Sockets und vergleicht dabei verschiedene Programmiersprachen und Betriebssysteme.

Was sind die zentralen Themenfelder?

Die zentralen Themen sind Netzwerkprotokolle, Socket-Architektur, plattformübergreifende Softwareentwicklung in C/C++ und Java sowie die Relevanz von Sockets für IT-Sicherheit.

Was ist das primäre Ziel der Untersuchung?

Das Ziel ist die Vermittlung technischer Kenntnisse über die Funktionsweise von Sockets durch praktische Fallbeispiele und Code-Implementierungen.

Welche wissenschaftliche Methode wird verwendet?

Es handelt sich um eine technische Ausarbeitung, die theoretische Konzepte mittels praktischer Implementierung, Analyse von Netzwerkabläufen und Fallbeispielen veranschaulicht.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die theoretischen Grundlagen der Netzwerkkommunikation, die Socket-Grundlagen sowie eine detaillierte technische Umsetzung in C und Java.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit ist durch Begriffe wie Socket-Programmierung, C, Java, Client-Server-Architektur und Netzwerk-Sicherheit geprägt.

Welche Besonderheiten gibt es bei der Socket-Programmierung unter Windows im Vergleich zu Linux?

Unter Windows müssen für die Initialisierung und Bereinigung der Sockets spezielle Funktionen wie WSAStartup und WSACleanup aufgerufen werden, was in C durch Präprozessor-Direktiven gelöst werden kann.

Wie unterscheidet sich der Ansatz der Java-Standard-API von der Socket-Programmierung in C?

Java bietet eine Abstraktion der Sockets durch fertige Klassen, die eine einfachere Implementierung ermöglichen, während C einen direkteren Zugriff auf die Betriebssystemfunktionen erfordert.

Warum ist das Verständnis von Sockets für die IT-Sicherheit wichtig?

Sowohl reguläre Anwendungen als auch Malware und Exploits nutzen Sockets; ein tiefes Verständnis ist daher notwendig, um die Funktionsweise von systemnahem Shellcode zu durchdringen.

Ende der Leseprobe aus 31 Seiten  - nach oben

Details

Titel
Client-Server-Socket Programmierung: Unterstützung in unterschiedlichen Programmiersprachen
Untertitel
Mit Fallbeispielen
Hochschule
Hochschule Aalen
Veranstaltung
Rechnernetze
Note
2.0
Autoren
Daniel Szameitat (Autor:in), Martin Haug (Autor:in), Christian Bosch (Autor:in)
Erscheinungsjahr
2013
Seiten
31
Katalognummer
V231487
ISBN (eBook)
9783656484547
ISBN (Buch)
9783656484585
Sprache
Deutsch
Schlagworte
client-server-socket programmierung unterstützung programmiersprachen fallbeispielen
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Daniel Szameitat (Autor:in), Martin Haug (Autor:in), Christian Bosch (Autor:in), 2013, Client-Server-Socket Programmierung: Unterstützung in unterschiedlichen Programmiersprachen, München, GRIN Verlag, https://www.grin.com/document/231487
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  31  Seiten
Grin logo
  • Grin.com
  • Versand
  • Kontakt
  • Datenschutz
  • AGB
  • Impressum