Kurze Antwort:
Gehen Sie nach der hier gegebenen Antwort . Sie können zwei Anwendungen haben, die dieselbe IP-Adresse und Portnummer abhören, solange einer der Ports ein UDP-Port ist, während der andere ein TCP-Port ist.
Erläuterung:
Das Konzept des Ports ist auf der Transportschicht des TCP / IP-Stapels relevant. Solange Sie also verschiedene Transportschichtprotokolle des Stapels verwenden, können mehrere Prozesse auf denselben warten <ip-address>:<port>
Kombination abhören.
Ein Zweifel, den Menschen haben, ist, wenn zwei Anwendungen auf derselben <ip-address>:<port>
Kombination ausgeführt werden, wie wird ein Client, der auf einem Remotecomputer ausgeführt wird, zwischen beiden unterscheiden? Wenn Sie sich den IP-Layer-Paket-Header ansehen ( https://en.wikipedia.org/wiki/IPv4#Header ) , werden Sie sehen, dass die Bits 72 bis 79 zum Definieren des Protokolls verwendet werden. Auf diese Weise kann die Unterscheidung getroffen werden.
Wenn Sie jedoch zwei Anwendungen auf demselben TCP haben möchten <ip-address>:<port>
Kombination lautet die Antwort Nein (Eine interessante Übung besteht darin, zwei VMs zu starten, ihnen dieselbe IP-Adresse, aber unterschiedliche MAC-Adressen zu geben und zu sehen, was passiert - das werden Sie manchmal bemerken VM1 erhält Pakete, und zu anderen Zeiten erhält VM2 Pakete (abhängig von der Aktualisierung des ARP-Cache).
Ich habe das Gefühl, dass zwei Anwendungen gleichzeitig ausgeführt werden <op-address>:<port>
Sie eine Art Lastausgleich erzielen möchten, . Zu diesem Zweck können Sie die Anwendungen an verschiedenen Ports ausführen und IP-Tabellenregeln schreiben, um den Datenverkehr zwischen ihnen aufzuteilen.
Siehe auch die Antwort von @ user6169806.