Назад | Перейти на главную страницу

Как я могу заставить WinXP привязаться к портам, отличным от 1025-5000, для исходящих TCP-соединений?

(Изначально я разместил аналогичный вопрос на Переполнение стека но читатели рекомендовали вместо этого разместить здесь)

Когда вы создаете исходящие TCP-соединения, большинство приложений позволяют операционной системе выбирать, какой порт использовать. В большинстве операционных систем для этой цели используется рекомендованный IANA динамический диапазон портов 49152-65535. Но в Windows 2003 и ранее (включая XP) Microsoft использует порты 1025-5000. Microsoft позволяет вам изменять верхний предел этого диапазона с помощью параметра реестра MaxUserPort TcpIP, но я не вижу возможности изменить нижний предел. Мне нужно, чтобы порт 4160 был свободен для входящих соединений, и в редких случаях исходящее соединение крадет этот порт у меня, прежде чем я привяжу этот порт.

Помимо MaxUserPort вам также необходимо указать ReservedPorts.

Ключ реестра: HKLM \ System \ CurrentControlSet \ Services \ TCPIP \ Parameters

Значение реестра: ReservedPorts Тип: Многострочное значение Данные значения: 1024-5000

Вы также можете попробовать указать только 4160-4160 и не использовать ReservedPorts.