# Port mithören



## Stophi (29. Sep 2006)

Hallo!

Da ich in Sachen Socket nicht wirklich so fit bin wende ich mich hoffnungsvoll an euch...

Es geht darum an einem Port mitzuhören und diese Informationen auszugeben.

Hierzu hab ich mir etwas kleines gebastelt bzw. hier im Forum gefunden 



```
public static void main(String[] args) throws Exception { 
    Socket socket = new ServerSocket(443).accept(); 
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
    for (String s; (s = in.readLine()) != null; System.out.println(s));
```

So, nun hab ich jedoch das Problem, dass auf dem Port den ich abhören will eine andere Java Application (Server)arbeitet, auf die ich leider keinen Zugriff habe...bzw den Code nicht verändern darf. Hierbei ist es jedoch nötig, dass die Hauptapplication läuft, d.h. ich kann sie nicht abschalten, da mir der Client keine Informationen an der Port sendet, da dieser sofort bemerkt wenn kein Server da ist.

Gibt es eine Möglichkeit mein Problem zu lösen? 
Sprich muss man sich immer am Port anmelden um mitlesen zu können? Oder besteht die Möglichkeit mehrere Dienste auf einen Port zu schalten.

Für einen kleinen Tipp wär ich sehr froh!

Danke


----------



## AlArenal (29. Sep 2006)

Nein, du kannst nicht mitlauschen.

Du kannst bestenfalls eine Anwendung als Proxy zwischenschalten. Die Clients würden dann auf deinen Proxy auf Port 443 zugreifen und dein Proxy würde den Kram an den Server weiterreichen. Nur, wenn du am Server nichts ändern kannst, kannst du den proxy nicht transparent für die CLients zwischenshcalten und du müsstest die Clients umkonfigurieren.

Ohne Änderung an Server oder Clients wirst du keine (Java-)Lösung finden.


----------



## Stophi (29. Sep 2006)

Ok, danke schonmal! 

In begrenztem Maße kann ich am Server schon etwas hinzufügen (wird hald nicht gern gesehn), jedoch weiß ich ned wo ich da was hinzufügen soll/kann, da das eine so mächtige App is, dass ich erstmal einen Tag rumsuchen müßte um den geeigneten Platz zu finden. Was ich nun wohl machen muss 

Dann werd ich mal hier mal über Proxys informieren ...

Am Client selber hab ich keine Möglichkeit Änderungen vornehmen zu können.


Danke!


----------



## AlArenal (29. Sep 2006)

An der Serveranwendung müsstest du lediglich den Port umstellen.


----------



## Stophi (29. Sep 2006)

Und genau das geht nicht  Hab ich schon probiert, war mein erster Gedanken ^^... 

Es gibt zwar eine Möglichkeit die in der Klasse den Port zu ändern. Jedoch läuft der Web Service trotzdem noch auf diesem... Seit ein paar internen patches ist dies leider so. Und keiner kann mir sagen wieso dies der Fall ist.


----------



## AlArenal (29. Sep 2006)

Dann bist du mal ziemlich am Arsch...


----------



## Stophi (29. Sep 2006)

danke ^^

aber am Montag kommt einer ausm Urlaub der an dem WS mitgeschrieben hat...vielleicht weis der dazu mehr.


----------



## KSG9|sebastian (29. Sep 2006)

die Frage ist eher warum ihr bei ner vorhandenen Anwendungen an nem Port lauschen müsst. Wenn ihr die Daten wollt greift sie am Server oder am Client ab, aber nen Proxy zwischenzuschalten (wenn das eure eigene Anwendung ist und ihr die Sourcen habt) ist imho quatsch.
Und dann kommt das nächste: Für was willst du da mitlauschen? Was soll mit den Daten gemacht werden?

Ach ja, wenn man durch Patches die eigene Anwendung nimmer steuern kann würd ich mir langsam aber sicher sorgen machen ob in der Firma alles richtig läuft


----------



## Stophi (29. Sep 2006)

Das Problem ist, dass die Authentifizierung fehl schlägt und genau deshalb will ich wissen was der Client an den Server sendet. Jedoch kann ich dies nur vor dem Server machen, da ich ja nicht im Server die Daten ansehen kann. Zudem kann ich am Client nix ändern, debuggen oder die Adresse ändern, da dieser nicht von uns ist.

Mir konnte bisher nur diese Information, dass durch das patchen etwas geändert wurde, gegeben werden. Daher vermute ich, dass es daran liegt. Ob dies nun wirklich so ist, wird sich am Montag klären, da ich dann die Person die ich dafür brauche da ist. In der Firma läuft alles gut , nur in dieser Ecke bin ich der Pionier, da den Web Service bis jetzt noch niemand gebraucht hat. Bzw es nur einen TestClient im System gibt, welcher mir im Mom aber überhaupt nix bringt.


----------



## hupfdule (29. Sep 2006)

Dann nehmt doch ein fertiges Tool wie ethereal, bzw. Wireshark.


----------

