Class Network
java.lang.Object
|
+----Authenti
|
+----Network
- public class Network
- extends Authenti
Netzwerk-Klasse, die einerseits dazu dient, an den Ports Authenti.AUTHENTI_SOCKET
und Authenti.AGGRESSOR_SOCKET auf Clients zu warten und andererseits einen
Netzwerk-Knoten in einem unsicheren Netzwerk repräsentiert - d.h. es wird einem
Angreifer gestattet, die Kommunikation zwischen einem Client und einem Server abzuhören.
Mit startup() wird das Netzwerk gestartet und die beiden Dienste auf
den Ports Authenti.AUTHENTI_SOCKET und Authenti.AGGRESSOR_SOCKET zur
Verfügung gestellt. Meldet sich ein Client auf Authenti.AUTHENTI_SOCKET, so wird
ein neues AuthentiServer-Objekt kreiert und die Kommunikation mit diesem kann beginnen.
Hat sich vorher ein Aggressor auf dem Port Authenti.AGGRESSOR_SOCKET angemeldet,
wird die Kommunikation vom Aggressor abgehört und modifiziert. Die Kommunikation wird
abgebrochen, sobald einer der Teilnehmer die Kommunikation beendet.
Ein Aggressor kommuniziert mit Client und Server nur über jeweils einen
Eingabe- und Ausgabestream. Dabei wird jeder Zeile der Präfix Authenti.CLI2SRV
vorangestellt, falls der Text vom Client stammt bzw. an den Server geschickt werden soll;
der Präfix Authenti.SRV2CLI wird vorangestellt, falls der Text vom Server stammt
bzw. an den Client geschickt werden soll.
- Version:
- 1.0
- Author:
- Thomas Wolf
Constructor Summary
|
Network(java.net.Socket client)
Konstruktor für einen Netzwerkknoten ohne Aggressor.
|
Network(java.net.Socket client,
java.net.Socket aggressor)
Konstruktor für einen Netzwerkknoten mit Aggressor.
|
Method Summary
|
java.io.Reader
|
getServerReader()
Liefert einen InputStream, um von diesem Netzwerkknoten zu lesen.
|
java.io.Writer
|
getServerWriter()
Liefert einen OutputStream, um auf diesen Netzwerkknoten zu schreiben.
|
void
|
start()
Startet den Netzwerkknoten.
|
static void
|
startup()
Startet das Netzwerk.
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Network
protected Network(java.net.Socket client) throws java.io.IOException
- Konstruktor für einen Netzwerkknoten ohne Aggressor.
- Parameters:
client
- Client-Socket
Network
protected Network(java.net.Socket client,
java.net.Socket aggressor) throws java.io.IOException
- Konstruktor für einen Netzwerkknoten mit Aggressor.
- Parameters:
client
- Client-Socket
aggressor
- Aggressor-Socket
startup
public static void startup()
- Startet das Netzwerk.
getServerReader
public java.io.Reader getServerReader()
- Liefert einen InputStream, um von diesem Netzwerkknoten zu lesen.
- Parameters:
InputStream
- zum Lesen vom Netzwerkknoten
getServerWriter
public java.io.Writer getServerWriter()
- Liefert einen OutputStream, um auf diesen Netzwerkknoten zu schreiben.
- Parameters:
OutputStream
- zum Schreiben auf den Netzwerkknoten
start
protected void start()
- Startet den Netzwerkknoten.