# UDP port packete lesen,wenn dieser besetzt ist



## Jigga (27. Jan 2011)

Guten Abend alle zusammen,

ich habe mir letztens über eine Appl gedanken gemacht die folgendes als Grundlage hat:
Sie soll Pakete lesen,die bei mir an einem bestimmten UDP port ankommen.
dieser port wird aber bereits von einer anderen anwendung benutzt.ist es trotzdem irgendwie möglich die pakete zu lesen?
hier der quellcode:
Als exception kriege ich die "java.net.BindException: Address already in use: Cannot bind...." 


```
public static void test() {
		String out = "";
		try {
			DatagramSocket socket = new DatagramSocket(1513);
			byte[] buffer = new byte[1000];
			DatagramPacket packet = new DatagramPacket(buffer, 1000);
			socket.receive(packet);
			out = new String(buffer, 0, packet.getLength());
			System.out.println(out);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
```


----------



## XHelp (27. Jan 2011)

Was du haben willst ist ein Sniffer. Ich denke nicht, dass du es rein mit nativen Mitteln erreichen wirst. Wenn du Windows benutzt könnte für dich WinPcap interessant sein. Für weitere Informationen kannst du nach "java udp sniff" suchen.


----------



## HoaX (28. Jan 2011)

Und als Linuxuser wäre es entsprechend libpcap.


----------



## Jigga (28. Jan 2011)

ja hatte ich gestern auch mit google gefunden und das entsprechende jpcap installiert.
jetzt versuche ich das ganze damit zu realisieren.

EIDT: falls sich jemand mit jpcap auskennt.
wie setze ich dort einen port,damit nur bestimmte packets gelesen werden?


----------

