DisTAnz 1.0

DTA.agent
Class DataCollector

java.lang.Object
  |
  +--DTA.agent.DataCollector

public class DataCollector
extends java.lang.Object
implements java.lang.Runnable

Der DataCollector nimmt Verbindung zu der Helper-Application auf, die den Datenstrom des Netzwerkes als Text zur Verfügung stellt. Dieser Text wird geparst und gefiltert, und in einem DataStorage-Objekt abgelegt.

Tritt beim Parsen des Paketes ein Fehler auf, wird es verworfen, filterPacketInfo gibt null zurück.

Erstellt: Jun 2000

Version:
1.8
Author:
Corina Apachite, Karsten Römling

Field Summary
private  java.lang.Thread collThread
          Dient der Threadkontrolle (start/die).
private  java.io.BufferedReader in
           
private  DataStorage myMemory
           
private  int port
           
private  java.net.Socket socket
           
 
Constructor Summary
DataCollector(DataStorage dataStorage)
          Erzeugt einen DataCollector mit dataStorage als Speicher und einem Standardport von 2000.
DataCollector(DataStorage dataStorage, int port)
          Erzeugt einen DataCollector auf Port port mit dataStorage als Datenspeicher.
 
Method Summary
 void die()
          Die die-Methode hält den DataCollector an.
private  Flow filterPacketInfo(java.lang.String dataPacket)
          Describe filterPacketInfo method here.
static void main(java.lang.String[] args)
          Dient dem Test der Funktionalität der Klasse.
 void run()
          run liest jeweils eine Zeile von tcpdump (böse Falle, das mit der ersten Zeile der localhost:2000-Ausgabe :), läßt sie von filterPacketInfo parsen und speichert ein zurückgegebenes Flow-Objekt in myMemory.
 void start()
          Startet den DataCollector.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

in

private java.io.BufferedReader in

port

private int port

socket

private java.net.Socket socket

myMemory

private DataStorage myMemory

collThread

private java.lang.Thread collThread
Dient der Threadkontrolle (start/die).
Constructor Detail

DataCollector

public DataCollector(DataStorage dataStorage)
              throws java.net.UnknownHostException,
                     java.net.SocketException,
                     java.io.IOException
Erzeugt einen DataCollector mit dataStorage als Speicher und einem Standardport von 2000.
Parameters:
dataStorage - Der zu verwendende DataStorage.

DataCollector

public DataCollector(DataStorage dataStorage,
                     int port)
              throws java.net.UnknownHostException,
                     java.net.SocketException,
                     java.io.IOException
Erzeugt einen DataCollector auf Port port mit dataStorage als Datenspeicher.
Parameters:
dataStorage - Der zu verwendende DataStorage.
port - Der Port zur Verbindung mit der Helper-Application
Method Detail

start

public void start()
Startet den DataCollector. Dieser läuft dann solange, bis er mit die() wieder angehalten wird.

run

public void run()
run liest jeweils eine Zeile von tcpdump (böse Falle, das mit der ersten Zeile der localhost:2000-Ausgabe :), läßt sie von filterPacketInfo parsen und speichert ein zurückgegebenes Flow-Objekt in myMemory.

Kommt null zurück, war das Paket kein IP-Paket und wird ignoriert.

Specified by:
run in interface java.lang.Runnable

die

public void die()
Die die-Methode hält den DataCollector an.

filterPacketInfo

private Flow filterPacketInfo(java.lang.String dataPacket)
Describe filterPacketInfo method here.
Parameters:
dataPacket - Ein String
Returns:
Ein Flow-Objekt, aus den Daten des übergebenen dataPacket.
See Also:
Flow

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException,
                        java.lang.InterruptedException
Dient dem Test der Funktionalität der Klasse.
Parameters:
args - Wird nicht genutzt.

DisTAnz 1.0

Copyright 2000 I. Rekik, M. Zouari, C. Apachite, K. Römling, S. Henze
All rights reserved.