Порт не показан для использования в netstat, но попытка использования порта отклонена Windows - PullRequest
0 голосов
/ 05 августа 2020

Я уже нашел ответ на эту проблему и просто хочу задокументировать свои выводы.

В одном из моих недавних проектов я обнаружил, что порт не будет отображаться как используемый в netstat, но когда мои проект попытался использовать порт, будет выдана ошибка.

Например, допустим, я хочу использовать порт 53000:

netstat -ano | findstr :53000

Ничего не будет показано, но если я попытаюсь используйте порт в Node.js, будет выдана ошибка разрешения.

1 Ответ

0 голосов
/ 05 августа 2020

Оказалось, что такие вещи, как Hyper-V, Docker и т.д., c резервируют диапазон портов. Чтобы узнать диапазоны зарезервированных портов, сделайте следующее:

netsh interface ipv4 show excludedportrange protocol=tcp

В моем случае я бы увидел что-то вроде этого:

Protocol tcp Port Exclusion Ranges

Start Port    End Port
----------    --------
     49805       49904
     50000       50059     *
     50060       50159
     50160       50259
     50360       50459
     50870       50969
     50970       51069
     51070       51169
     51270       51369
     52353       52452
     52453       52552
     52553       52652
     52653       52752
     52853       52952
     52953       53052
     53053       53152
     53324       53423
     56247       56346
     56347       56446
     56547       56646
     56647       56746

* - Administered port exclusions.

Чтобы решить мою проблему, я могу:

  1. Отключить Hyper-V
  2. netsh int ipv4 add excludedportrange protocol=tcp startport=53000 numberofports=1 (от имени администратора)
  3. Включить Hyper-V
...