import java.net.*;
import java.io.*;public class ListenerPort
{
 private Socket ket;
 private BufferedInputStream bis;
 private BufferedReader br;
   public static void main(String[] args)
   {
      ListenerPort lp = new ListenerPort();
      lp.NetLink();
   }
   public void NetLink()
   {
      try
      {
         ket = new Socket("172.16.1.10",21);
      }
      catch(Exception e)
      {
         e.printStackTrace();
      }
      ThreadRead tr = new ThreadRead(ket);
      tr.start();
   }
   class ThreadRead extends Thread
   {
      private Socket Sock;
      public ThreadRead(Socket Sock)
      {
         this.Sock=Sock;
      }
      public void run()
      {
        int x;
        try
        {
           bis=new BufferedInputStream(Sock.getInputStream());
            while(true)
            {
               x=bis.read();
               System.out.println(x);
            }
         }
         catch(Exception e)
         {
            e.printStackTrace();
         }
      }
   }
}这是我一开始的代码...
我就是想别人登陆我的FTP的时候我把它的IP给截下来存放起来...我知道FTP有log可以查看
但是我想知道我该怎么做才能实现?

解决方案 »

  1.   

    用java很难实现,研究一下Sniffer吧。
      

  2.   

    用socket只能监听自己的端口 Socket   s=new   Socket("127.0.0.1",21);
      

  3.   

    对,我是监听自己的...我把这个程序放我自己架设FTP的机子上
      

  4.   

    Socket client = null;
    ServerSocket server = new ServerSocket(port);
    while(true) {
       client = server.accept();
    }
      

  5.   

    Socket.getInetAddress();返回一个InetAddress对象,通过这个对象可以得到IP
    Socket.getPort();端口号