|
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 \n\n ";
str += " 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 '': {
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);
}
}
}
} |
|