[code]import java.net.Socket;
import javax.swing.JOptionPane;
public class PortScanTCP {
public static void main(String args[]) {
String server = JOptionPane.showInputDialog(null,"Digite o endereço do servidor a ser verificado.", "127.0.0.1");
String limit = JOptionPane.showInputDialog(null,"Digite a menor porta - e a última a serem percorridade(com - entre elas)","80-1024");
String[] port = limit.split("-");
int min = Integer.parseInt(port[0]);
int max = Integer.parseInt(port[1]);
StringBuffer portasEncontradas = new StringBuffer();
for (int porta = min; porta <= max; porta++) {
try {
System.out.print("\rVerificando porta " + porta);
Socket s = new Socket(server, porta);
s.setTcpNoDelay(true);
s.setSoTimeout(0);
portasEncontradas.append(porta + "\n");
s.close();
} catch (Exception ex) {
}
}
System.out.println("\nPortas TCP encontradas\n" + portasEncontradas.toString());
}
}
[/code]