# Offene UDP-Ports finden



## MSJones (7. Feb 2006)

Ich bin gerade dabei, ein Host-scanner Programm zu schreiben.
Dieses soll eine bestimmte IP oder einen Hostnamen auf offene UDP und TCP-Ports untersuchen.
Mit TCP klappt das einwandfrei, aber bei UDP hab ich das Problem, daß ich nichts zurückgeliefert bekomme, obs angekommen ist oder nicht.

Gibt es da irgendeine Möglichkeit, einen Rückgabewert zu bekommen, wenn ein UDP-Port angepingt wird?
Wenn ja, wie geht das?


----------



## Bleiglanz (7. Feb 2006)

nein, ein UDP Port ist ein "schwarzes Loch"

wenn das unterliegende Protokoll (z.B. DNS) nicht von sich aus irgendwas zurückschickt kann es gut sein, dass überhaupt nichts zurückkommt

BTW: java ist dafür die falsche Programmiersprache (kein Zugriff auf die ICMP Pakete)

schon mal nmap angeschaut?


----------



## MSJones (7. Feb 2006)

Nein, hab ich mir noch nicht angeschaut.

Kann schon sein, daß Java dafür nicht optimal ist, aber meine Vorgabe lautet: Programmieren Sie mit Java!

Na dann werd ich mir wohl nen Trick einfallen lassen müssen!

Danke trotzdem!


----------



## Bleiglanz (8. Feb 2006)

> Na dann werd ich mir wohl nen Trick einfallen lassen müssen!


würde mich wundern, wenn dir da einer einfällt...


----------



## lin (8. Feb 2006)

mach einfach ne GUI in Java und bind dann nmap ein :bae:


----------



## MSJones (9. Feb 2006)

Auch das Einbinden ist nicht erlaubt.
Allerdings gibt es laut API beim DatagramSocket bei der Methode send eine PortUnreachableException, die zurückgegeben wird, wenn der Port nicht offen ist.
Dummerweise krieg ich diese Exception nicht ausgelöst, auch nicht, wenn ich die Firewall des 2. Rechners komplett blocken lasse.

Hat irgendeiner von euch so ne Exception mal bekommen?
Wenn ja wie??


----------



## Bleiglanz (10. Feb 2006)

geht  nur, wenn die Gegenseite mitspielt

Signals that an ICMP Port Unreachable message has been received on a connected datagram


----------

