我正在尝试理解如何在Windows XP上启动多个进程侦听相同的TCP {IP,Port}对。
例如,我可以启动两个ncat.exe
程序侦听371端口。第二个可以成功启动并接收传入连接,而第一个则不能。一旦最后启动的进程终止,第一个进程就会接收到连接。
netstat -a -n | find "LISTENING"
TCP 0.0.0.0:371 0.0.0.0:0 LISTENING
TCP 0.0.0.0:371 0.0.0.0:0 LISTENING
假设这是Windows (XP)的行为,那么它怎么能算是安全可靠的行为呢?这意味着任何人都可以"超载"任何已经在监听的端口而不是收到通常的"地址已被使用"错误信息,然后简单地绕过只规定"允许371端口上的任何TCP连接进入"的防火墙规则。