即使没有其他应用程序正在侦听也无法打开端口 [Windows]

The*_*yen 7 windows port

我想在本地 Windows 环境中打开端口 8888 但没有成功。或者如何检查 Windows 事件日志打开端口 8888 失败?

这是所有以8xxx开头的监听端口的结果netstat -an | findstr :8

  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING                                
  TCP    0.0.0.0:808            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8001           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8002           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8003           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8004           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8005           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8006           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8007           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8008           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8009           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8010           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8011           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8012           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8013           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8014           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8015           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8081           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8082           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8083           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8084           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8088           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8089           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8090           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:8443           0.0.0.0:0              LISTENING
  TCP    127.0.0.1:8001         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:8183         0.0.0.0:0              LISTENING
  TCP    [::]:80                [::]:0                 LISTENING
  TCP    [::]:8001              [::]:0                 LISTENING
  TCP    [::]:8002              [::]:0                 LISTENING
  TCP    [::]:8003              [::]:0                 LISTENING
  TCP    [::]:8004              [::]:0                 LISTENING
  TCP    [::]:8005              [::]:0                 LISTENING
  TCP    [::]:8006              [::]:0                 LISTENING
  TCP    [::]:8007              [::]:0                 LISTENING
  TCP    [::]:8008              [::]:0                 LISTENING
  TCP    [::]:8009              [::]:0                 LISTENING
  TCP    [::]:8010              [::]:0                 LISTENING
  TCP    [::]:8011              [::]:0                 LISTENING
  TCP    [::]:8012              [::]:0                 LISTENING
  TCP    [::]:8013              [::]:0                 LISTENING
  TCP    [::]:8014              [::]:0                 LISTENING
  TCP    [::]:8015              [::]:0                 LISTENING
  TCP    [::]:8080              [::]:0                 LISTENING
  TCP    [::]:8081              [::]:0                 LISTENING
  TCP    [::]:8082              [::]:0                 LISTENING
  TCP    [::]:8083              [::]:0                 LISTENING
  TCP    [::]:8084              [::]:0                 LISTENING
  TCP    [::]:8088              [::]:0                 LISTENING
  TCP    [::]:8089              [::]:0                 LISTENING
  TCP    [::]:8090              [::]:0                 LISTENING
  TCP    [::]:8443              [::]:0                 LISTENING
Run Code Online (Sandbox Code Playgroud)

这是系统协议端口排除范围netsh interface ipv4 show excludedportrange protocol=tcp

Protocol tcp Port Exclusion Ranges

Start Port    End Port
----------    --------
        80          80
      1657        1756
      1757        1856
      1857        1956
      1957        2056
      2281        2380
      2381        2480
      2481        2580
      2581        2680
      3069        3168
      3169        3268
      3390        3489
      3490        3589
      4111        4210
      4211        4310
      4311        4410
      4444        4543
      5433        5532
      5556        5655
      5656        5755
      5756        5855
      6868        6967
      7006        7105
      7106        7205
      7206        7305
      8844        8943
      9192        9291
      9292        9391
      9392        9491
     10843       10942
     10943       11042
     11043       11142
     11143       11242
     12080       12179
     12180       12279
     12280       12379
     12380       12479
     14208       14307
     14308       14407
     14408       14507
     14508       14607
     16642       16741
     16742       16841
     16842       16941
     16942       17041
     19174       19273
     19274       19373
     19374       19473
     19474       19573
     21903       22002
     22003       22102
     22103       22202
     22203       22302
     24835       24934
     24935       25034
     25035       25134
     25135       25234
     50000       50059     *

* - Administered port exclusions.
Run Code Online (Sandbox Code Playgroud)

The*_*yen 4

原因是 Hyper-V 接管了这些端口,为防止这种情况发生,请执行以下操作:

  1. dism.exe /Online /Disable-Feature:Microsoft-Hyper-V(然后重新启动)
  2. netsh int ipv4 add excludedportrange protocol=tcp startport=<your port, mycase: 8888> numberofports=1
  3. dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All(然后重新启动)

原来的解决方案在这里

如果之后您仍然无法绑定到端口,请执行以下操作:

  • netsh http add iplisten 0.0.0.0对于 IPv4
  • netsh http add iplisten ::对于 IPv6

更多信息请参见此处