Диапазоны переадресации портов в Windows 7

Диапазоны переадресации портов в Windows 7

Я хотел бы перенаправить несколько диапазонов на моем рабочем столе Windows 7. В идеале я хотел бы использовать для этой цели утилиту рабочего стола, но я не смог найти ничего, кроме этого:http://www.quantumg.net/portforward.php

Однако он принимает номера портов, а не диапазоны портов. Так что если мне нужно перенаправить 10000 портов, мне придется добавить 10000 записей.

Есть ли лучший способ? Утилиты командной строки и скрипты также хороши, если таковые имеются.

решение1

Я не видел хороших альтернатив, но у меня есть идея.

Программа, о которой вы упомянули, позволяет загружать данные из текстового файла, содержащего информацию о порте, пункте назначения и локальном порте.

Было бы довольно легко написать программу, которая выводит эту информацию в текстовый файл, задавая некоторые диапазоны. Затем вы можете загрузить текстовый файл в программу переадресации портов, о которой вы упомянули.

Вот программа на Java, которую я только что слепил (извините, я новичок в программировании)

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();
    }
}

И создает файл с именем output.txt, содержащий следующее:

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
...

Он идет от 50 до 100, а локальный и конечный порты одинаковы. Измените его по своему усмотрению.

решение2

Продолжая решение Джеймса Т., вот пакетный скрипт:

что-то.cmd

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

Объяснение:

  • 50 — начальное число
  • 1 — шаг для каждого цикла
  • 100 — это конечное число

Если вы хотите «переместить» диапазон портов на целевом компьютере (например, 50-100 на источнике, 100-150 на целевом компьютере), используйте этот пакетный скрипт:

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

Линейный набор /a dest=%%G+50устанавливает расстояние от исходных портов.

Если вам нужен более длинный, но простой в использовании скрипт:

@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%) 

Связанный контент