Mehrere Ports gleichzeitig abhören

  • Themenstarter Themenstarter Mewel
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
M

Mewel

Gast
Hi,

weis jemand eine möglichkeit in Java an mehreren (oder am besten alle) Ports zu lauschen. Will nur wissen ob dort Daten anliegen um dann eine Socketverbindung aufzubauen.

Und, weis jemand eine Möglichkeit herauszubekommen welche Ports freigeschaltet sind (mit Java, nicht mir netstat)


Danke schon mal im Voraus
Mewel
 
also wenn du alle abhören willst
(warum eigentlich?)
solltest du wohl einen Socket[] machen
ich glaub jedenfalls man kann aus allem nen Array machen

und dann weißt du mit ner For-Schleife jedes Socket einem Port zu

und du kannst über Runtime ja Netstat ausführen und stdin lesen
so würd ichs jedenfalls machen
 
Moin,

also ich bezweifel mal, daß es einen vernünftigen Grund gibt, alle 65535 Ports gleichzeitig abzuhören. Üblicherweise belegt man für einen Dienst genau einen (und manchmal auch 2 oder so).

Was genau meinst du mit "freigeschaltet" ? Wenn du damit eine FW meinst, mußt du schon von außerhalb testen, ob du auf einem Port durchkommst. Welche Ports freigeschaltet sind, bekommt man meist durch Port-Scans heraus, was man aber nur auf dem eigenen Rechner durchführen sollte. Port-Scans auf fremde Systeme sollte man unterlassen und werden oft schon als "Angriff" bewertet.

Gruß
Mag1c
 
mit java kannst du nur alle durchprobieren (und jeweils versuchen einen ServerSocket zu erzeugen) um rauszukriegen welche "belegt" sind

und um mehrere "gleichzeitig" abzuhören musst du für mindestens für jeden port einen thread machen, weil ansonsten accept() blockt
 
Um sowas richtig performant zu machen wird es meist direkt im Kernel implementiert, wie zB. eine Firewall oder ein Intrusion Detection System. Das sind ja alles Anwendungen die im Userland erstmal wenig zu suchen haben.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben