Intervalos de encaminhamento de porta no Windows 7

Intervalos de encaminhamento de porta no Windows 7

Gostaria de encaminhar alguns intervalos na minha área de trabalho do Windows 7. Idealmente, eu gostaria de usar um utilitário de desktop para essa finalidade, mas não consegui encontrar nenhum, exceto este:http://www.quantumg.net/portforward.php

No entanto, ele aceita números de portas e não intervalos de portas. Portanto, se eu tiver que encaminhar 10.000 portas, terei que adicionar 10.000 entradas.

Existe uma maneira melhor? Utilitários e scripts de linha de comando são tão bons quanto disponíveis.

Responder1

Não vi boas alternativas, mas tenho uma ideia.

O programa que você mencionou permite carregar a partir de um arquivo de texto preenchido com informações de porta, destino e porta local.

Seria muito fácil escrever um programa que enviasse essas informações para um arquivo de texto, considerando alguns intervalos. Você pode então carregar o arquivo de texto no programa de encaminhamento de porta mencionado.

Aqui está um programa em Java que acabei de montar (desculpe, sou um programador novato)

package portforwardranges;
import java.io.File;
import java.io.PrintWriter;

public class PortForwardRanges {

    PortForwardRanges(){
        try {
            PrintWriter pw = new PrintWriter(new File("output.txt"));
            for (int i = 50; i <= 100; i++){
            pw.print(i);
            pw.print(" 192.168.1.2 ");
            pw.print(i);
            pw.println();
            }

            pw.close();

        } catch (Exception ex) {
            System.out.println(ex);
        }
    }

    public static void main(String[] args) {
        PortForwardRanges app = new PortForwardRanges();
    }
}

E cria um arquivo chamado output.txt com isto:

50 192.168.1.2 50
51 192.168.1.2 51
52 192.168.1.2 52
53 192.168.1.2 53
54 192.168.1.2 54
...

Vai de 50 a 100 e as portas locais e de destino são as mesmas. Modifique-o como desejar.

Responder2

Estendendo a solução de James T, aqui está um script em lote:

algo.cmd

FOR /L %G IN (50, 1, 100) DO ECHO %G 192.168.1.2 %G >> hi.txt

Explicação:

  • 50 é o número inicial
  • 1 é o passo para cada loop
  • 100 é o número final

Se você quiser "mover" o intervalo de portas no destino (ex: 50-100 na origem, 100-150 no destino) use este script em lote:

setlocal ENABLEDELAYEDEXPANSION 
FOR /L %%G IN (50, 1, 100) DO ( 
set /a dest=%%G+50 
ECHO %%G 192.168.1.2 !dest! >> hi.txt) 

O conjunto de linhas /a dest=%%G+50define sua distância das portas de origem.

Se você quiser um script mais longo, mas mais fácil de manter:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set start=150
set step=5
set end=200
set destdistance=-50
set ip=192.168.1.2
set outputfile=output.txt


FOR /L %%G IN (%start%, %step%, %end%) DO ( 
set /a dest=%%G%destdistance%
ECHO %%G %ip% !dest! >> %outputfile%) 

informação relacionada