您的位置:首页 > 编程语言 > Java开发

端口扫描程序(java)

2004-10-10 16:05 351 查看
import java.net.*;
import java.io.*;









public class Scanner implements Runnable
{
 private InetAddress IPAddress;
 private int Port;
 private Thread allportThread;

 public Scanner(String IPAddress, int port)
 {
  try
  {
   this.IPAddress = this.IPAddress.getByName(IPAddress);
   this.Port = port;
  }
  catch(Exception e)
  {
   System.out.println("The host does not exist.");
  }
 }

 public void run()
 {

  try
  {
   Socket TestPort = new Socket(this.IPAddress, this.Port); //if this port cannot been connected, throw a exception.
   System.out.println(this.Port + ": exist"); //if connected, print out.
  }
  catch(Exception e){}
 }

 public static void main(String[] args)
 {
  String str;
  str =  "TPoI Scanner 1.0 - Network Host Scanner/n";
  str += "Author: T.T (TPoI:http://www.tpoi.net)/n/n";
  str += "Usage: Scanner <options> <Hostname>/n/n";
  str += "<options> List:/n";
  str += "   -allport : scan the status of all the ports of the specified host/n";
  str += "   -port %0 : scan the status of the specified ports(%0) of the specified host/n/n";
  str += "Examples:/n";
  str += "   Scanner -allport www.microsoft.com/n";
  str += "   Scanner -port 80 21.64.34.191";

  if(args.length==0)
  {
   System.out.println(str);
  }
  else
  {   
   args[0] = args[0].toUpperCase().trim();
   char switchArgs = args[0].charAt(1);
   switch(switchArgs)
   {
    case 'A':
    {
     for(int i=1;i<=65535;i++)
     {
      Scanner mainScanner = new Scanner(args[1],i);
      if(mainScanner.allportThread.activeCount()>100)
       mainScanner.run();
      else
      {
       mainScanner.allportThread = new Thread(mainScanner);
       mainScanner.allportThread.start();
      }
     }
     break;
    }
    case 'P':
    { 
     Scanner mainScanner = new Scanner(args[2],java.lang.Integer.parseInt(args[1],10));
     try
     {
      mainScanner.run();
     }
     catch(Exception e)
     {
      System.out.println("parameter error");
     }
     break;
    }
    default:
     System.out.println(str);
   }
  }
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息