Mehrere Prozesse hören auf dem gleichen port?
Ich versuche zu verstehen, wie kann es möglich sein, mehrere Prozesse starten, hören auf den gleichen TCP - {IP Port} - pair-Mädchen, die auf Windows XP.
Ich kann zum Beispiel beginnen zwei ncat.exe
Programme, die port 371. Die zweite ist gestartet ohne Probleme und empfängt eingehende verbindungen, während die erste nicht. Sobald der Prozess zuletzt gestartet ist beendet, der erste, der Sie erhält.
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
Davon aus das eine Windows (XP) Verhalten, wie kann es sein, eine sichere & sichere Verhalten? Es bedeutet man kann die "overload" an alle schon-listening-port, anstatt die üblichen "address already in use" Fehlermeldung, und Sie einfach umgehen von firewalls mit Regeln, die einfach nur sagen "alle eingehenden TCP-verbindungen auf port 371 erlaubt sind".
- Es ist nicht eine 'sichere Verhalten'. Es ist eine seltsame Windows wierdness, der erlaubt, Prozesse zu stehlen jeweils anderen verbindungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Socket option SO_REUSEADDR interpretiert wird, anders als in windows, d.h. in Linux würde es ermöglichen die Wiederverwendung der gleichen Steckdose, es sei denn, alle fünf Tupel (src/dst port/ip und Protokoll sind genau die gleichen).
Jedoch windows tatsächlich ermöglichen es Ihnen, um zu stehlen die Steckdose. Ich würde zitieren eine viel bessere schriftliche Antwort hier erarbeiten von beiden.