Port mithören

Status
Nicht offen für weitere Antworten.

Stophi

Mitglied
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 😉


Code:
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
 
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.
 
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!
 
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.
 
danke ^^

aber am Montag kommt einer ausm Urlaub der an dem WS mitgeschrieben hat...vielleicht weis der dazu mehr.
 
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 🙂
 
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.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben