package com.hejx.ftp; import java.net.*; 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); } } } }