# Kann Java Ports sperren?



## Guest (24. Apr 2006)

hi, mal ne schnelle frage: 

ist es möglich mit java eine firewall zu programmieren? also ich möchte wissen, ob es geht einen bestimmten port zu sperren, ohne zusätzliche firewall etc. 
is mir egal ob das jetzt sehr unpraktisch erscheint, aber öhm ja


----------



## Ilja (24. Apr 2006)

ja!

wenn du einen je thread startes (für jeden zu sperrenden port)
jeder thread soll einen server-socket auf jeweiligen port erzeugen, jedoch nicht behandeln!

somit ist der port belegt und damit auch geblockt.


----------



## Gast (24. Apr 2006)

jawoll, danke! ich hab mir sowas in der richtung schon gedacht, wusste aber nicht, ob der port dann von außen auch wirklich nicht ansprechbar ist, wenn eine doppelbelegung vorliegt...

...joa wenn die info korrekt ist, können die admins diesen thread gern als gelöst markieren


----------



## Murray (24. Apr 2006)

"Doppelbelegungen" von Ports gibt es nicht; das erste Programm gewinnt. Dieser Ansatz richtet also nichts mehr aus, wenn ein Programm oder Dienst bereits vorher gestartet wurde und seinen Port bereits eingerichtet hat; in diesem Fall wird in Deinem Programm eine Exception geworfen.

Wenn Dein Java-Programm dann läuft und alle Ports blockiert, dann werden später gestartete Dienste und Anwendungen ihrerseits beim Belegen des Ports auf Fehler laufen; wie gut die abgefangen werden, hängt vom jeweiligen Programm ab.

Nach meinem Verständnis funktioniert eine echte Firewall anders; sie sollte nicht verhindern, dass ein Programm auf einem Port einen Dienst anbietet; die sollte vielmehr auf der Netzwerkebenen ein- und ausgehenden Verkehr blockieren. So etwas ist m.E. in Java ohne Rückgriff auf native Code nicht zu realisieren.


----------

