Prosty Sniffer

0

Właśnie próbuje napisać prostego Snifferka pakietów HTTP.
Znalazłem następującą klasę:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.SocketException;
import java.net.UnknownHostException;

public class MulticastSniffer {

  public static void main(String[] args) {

    InetAddress ia = null;
    byte[] buffer = new byte[65509];
    DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
    int port = 0;

    try {
      try {
        ia = InetAddress.getByName(args[0]);
      }
      catch (UnknownHostException e)  {
        //
      }
      port = Integer.parseInt(args[1]);
    }  // end try
    catch (Exception e) {
      System.err.println(e);
      System.err.println("Usage: java MulticastSniffer MulticastAddress port");
      System.exit(1);
    }

    try {
      MulticastSocket ms = new MulticastSocket(port);
      ms.joinGroup(ia);
      while (true) {
        ms.receive(dp);
        String s = new String(dp.getData(), 0, 0, dp.getLength());
        System.out.println(s);
      }
    }
    catch (SocketException se) {
      System.err.println(se);
    }
    catch (IOException ie) {
      System.err.println(ie);
    }  

  }

}

Czy ktoś z was wie co mam wstawić za:
MulticastAddress [glowa] - żeby rozpocząć nasłuch całej komunikacji HTTP przechodzącej przez mój komputer??
No bo port to domyślam się, że ma być 80 ;]

0

Rozwiązałem już problem w zupełnie inny sposób ;]
Jakby ktoś chciał pisać kiedyś sniffer'a w Java'ie to polecam Jpcap. Ja właśnie z niego korzystam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0