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); } } } }
|