Scanner de REDE

Olá pessoal, estou tendo problemas em um aplicativo que estou testando e gostaria que vocês me explicassem o erro do mesmo.
O objetivo do programa é verificar as portas abertas da minha rede local.

CODE:

[code]import java.net.*;

public class PortScanner {

public static void main(String args[]) {
    //Define o inicio e fim de portas
    int startPortRange = 25;
    int stopPortRange = 80;
    
    startPortRange = Integer.parseInt(args[0]);
    stopPortRange = Integer.parseInt(args[1]);



    for (int i = startPortRange; i <= stopPortRange; i++) {
        try {
            //Cria uma instância da classe Socket com o endereço IP
            Socket ServerSok = new Socket("127.0.0.1", i);
            //A variável "i" é o número da porta atual
            System.out.println("Port in use: " + i);

            ServerSok.close();
        } catch (Exception e) {
        }
        System.out.println("Port not in use: " + i);
    }
}

} [/code]

Msg Error: Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0
at Scanner.PortScanner.main(PortScanner.java:17)
Java Result: 1

Alguem pode me explicar esse erro?
Grato.

Como você está instanciando o objeto?
Através de linha de comando?

Perceba que há uma chamada dos args[0] e [1], mas o array pode estar vazio.

Outra coisa que não entendi é, se você tem as portas inicial e final, por que querer o que a classe recebe como parâmetro?

int startPortRange = 25;  
        int stopPortRange = 80;  
          
        startPortRange = Integer.parseInt(args[0]);  
        stopPortRange = Integer.parseInt(args[1]);

Sim, é através de linha de comando.

cole para nós sua linha de comando.

você sabe como funciona a variável args[] que vem como parâmetro no método main?

Desculpe amigo, não posso explicar muito sobre o código, pois ainda estou no básico do conhecimento.
Esse código logo cima foi uma pesquisa e que fiz e com pouco de conhecimento que tenho, mas a maior parte foi da pesquisa.
E como disse, esse código tem um problema do qual não sei o motivo. =/

Tenho outro aplicativo rodando, porem, esse é mais limpo/curto do que eu tenho rodando.

então tente comentar as linhas 10 e 11 e veja se resolve o seu problema