I'm doing some testing with a TCP client on Windows 10 (10.0-19045) but due to firewall restrictions I need to run my experiments from a local port < 1024 (not negotiable).
I thought that this was no problem... but bind() fails with "address in use" (yes, I checked netstat, no one is there) for any port < 1023.
Then I checked netsh int ipv4 show excludedportrange protocol=tcp and the same for IPv6, noone is using those ports.
This feels like the "restricted port range" (1-1023) on UNIX/Linux, where only "root" can do a bind() with a local port < 1023, but this is Windows, and even as "Administrator" this still fails.
https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/default-dynamic-port-range-tcpip-chang talks about a "... well-known ports that are used by services and applications...", but I do not know where to set that (for a Cygwin process).
Does anyone know what is going on? Is there a way around this?
1024?