# Mehrere Ports gleichzeitig abhören



## Mewel (5. Okt 2005)

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


----------



## Nick H. (5. Okt 2005)

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


----------



## Mag1c (6. Okt 2005)

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


----------



## Bleiglanz (6. Okt 2005)

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


----------



## Dante (10. Okt 2005)

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.


----------



## Mewel (17. Okt 2005)

ok danke, habe jetzt verstanden was ihr meint


----------

