JScan - simple java port scanner 08-15-2013, 11:51 PM
#1
Code:
import java.net.*;
import java.io.IOException;
import java.util.Scanner;
public class JScan implements Runnable {
public static void main(String[] args) {
new JScan();
}
public JScan(){
new Thread(this).start();
}
public void run()
{
String host;
int start_port, end_port;
Scanner input = new Scanner(System.in);
System.out.println("_________________________________");
System.out.println("Port Scanner coded by DreamWalker");
System.out.println(" ");
System.out.println("_________________________________\n");
System.out.print("Target host or IP?: "); host = input.nextLine();
System.out.print("Start port?: "); start_port = input.nextInt();
System.out.print("End port?: "); end_port = input.nextInt();
System.out.println("________________________________\nScanning...\n");
for (int current_port = start_port; current_port <= end_port; current_port++)
try {
Socket socket = new Socket();
socket.bind(null);
socket.connect(new InetSocketAddress(host, current_port), 250);
socket.close();
if(current_port == 21)
System.out.println("FTP is open "+current_port);
else if(current_port == 22)
System.out.println("SSH is open "+current_port);
else if(current_port == 23)
System.out.println("Telnet is open "+current_port);
else if(current_port == 25)
System.out.println("SMTP is open "+current_port);
else if(current_port == 80)
System.out.println("HTTP is open "+current_port);
else if(current_port == 110)
System.out.println("POP3 is open "+current_port);
else if(current_port == 143)
System.out.println("IMAP is open "+current_port);
else if(current_port == 443)
System.out.println("SSL/HTTPS is open "+current_port);
else if(current_port == 3389)
System.out.println("RDP is open "+current_port);
else if(current_port == 5900)
System.out.println("VNC is open "+current_port);
else System.out.println("Port open "+current_port);
} catch (IOException ex) {}
System.out.println("_________________________________\nFinished, please close.");
try {
System.in.read();
} catch (IOException e)
{
e.printStackTrace();
}
}
}