The Java Program: MulticastSniffer.java
1 import java.net.InetAddress;
2 import java.net.DatagramPacket;
3 import java.net.MulticastSocket;
4 import java.net.SocketException;
5
6 import java.io.IOException;
7
8 public class MulticastSniffer {
9
10 public static void main(String[] args) {
11
12 InetAddress ia = null;
13 final byte[] buffer = new byte[65509];
14 final DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
15 int port = 0;
16
17 // read the address from the command line
18 try {
19 ia = InetAddress.getByName (args[0]);
20 port = Integer.parseInt (args[1]);
21 } catch (Exception e) {
22 System.err.println(e);
23 System.err.println("Usage: java MulticastSniffer MulticastAddress port");
24 System.exit(1);
25 }
26
27 try {
28 MulticastSocket ms = new MulticastSocket(port);
29 ms.joinGroup(ia);
30 while (true) {
31 ms.receive(dp);
32 final String s = new String(dp.getData(), 0, dp.getLength());
33 System.out.println(s);
34 }
35 } catch (SocketException se) {
36 System.err.println(se);
37 } catch (IOException ie) {
38 System.err.println(ie);
39 }
40 }
41 }