Esempio n. 1
0
        // throws java.io.IOException, java.net.UnknownHostException, InterruptedException {
        public Sniff(String [] args)
            : base(args)
        {
            int listen_port = option.intt ("listen-port",
              "port number to listen to", 6001);
            int talk_port = option.intt ("talk-port",
              "port number to talk to", 6000);

            about ("0.1", "network middle-layer sniffer",
              "Stephen Tse <*****@*****.**>",
              "http://escher.sourceforge.net/");

            if (help_option) return;

            Socket listen_socket = new java.net.ServerSocket (
              listen_port).accept ();
            InputStream listen_is = listen_socket.getInputStream ();
            OutputStream listen_os = listen_socket.getOutputStream ();

            Socket talk_socket = new Socket ("127.0.0.1", talk_port);
            InputStream talk_is = talk_socket.getInputStream ();
            OutputStream talk_os = talk_socket.getOutputStream ();

            while (true) {
              bool something = false;

              while (listen_is.available () > 0) {
            something = true;
            int data = listen_is.read ();
            talk_os.write (data);
            Console.WriteLine ("> " + Data.byte_to_string (data));
              }

              while (talk_is.available () > 0) {
            something = true;
            int data = talk_is.read ();
            listen_os.write (data);
            Console.WriteLine ("< " + Data.byte_to_string (data));
              }

              if (!something) gnu.util.Misc.sleep (100);
            }
        }