Est-il possible d’enlever le port tcp qui est déjà écouté par un autre programme

-1

Est-il possible qu'un programme B enlève un port déjà utilisé (écouté) par le programme A. Le programme A (le serveur écoutant un port) doit-il vérifier l'état du port après avoir ouvert ce port?

Je pense que toutes les opérations avec les ports (open, listen, close) sont implémentées par le système d'exploitation (serveur Windows 08, dans ce cas particulier). Ainsi, le système d'exploitation n'autorisera aucune opération avec le port s'il est occupé par un autre programme. Ai-je raison.

Der_Darm
la source
Pour votre dernier paragraphe, oui, les sockets / ports sont détenus par le système d'exploitation, dans le noyau. Et chaque système d'exploitation crée un port unique pour un processus à un moment donné.
Rich Homolka

Réponses:

2

Non, ce n'est pas possible. Vous pouvez tuer l'autre processus, cependant.

Daniel B
la source
1

L’ancien programme zonealarm a en quelque sorte agi de la sorte. Le programme nécessite probablement une sorte de privilège du noyau Windows + code de pilote. SeLinux / AppArmor de Linux fait également la même chose pour limiter l’accès de l’application aux ressources du réseau.

utilisateur3203478
la source
0

Avec des privilèges de système d'exploitation suffisants, rootou Administratoréquivalents, il est possible de faire à peu près n'importe quoi.

Mxx
la source