Windows XPの同じTCP {IP、Port}ペアで複数のプロセスをリッスンする方法を理解するために、どのように理解できるかを試しています。複数のプロセスが同じポートでリスンしていますか?
たとえば、ポート371でリッスンする2つのncat.exe
プログラムを開始できます。第2のプログラムは問題なく開始され、最初のプログラムは着信接続を受け取りません。最後に開始されたプロセスが終了すると、最初のプロセスが終了します。
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接続が許可されている」というルールでファイアウォールをバイパスします。
「安全で安全な動作」ではありません。これは、プロセスがお互いの接続を盗むことを可能にする奇妙なWindowsのwierdnessです。 – EJP