Comment bloquer un port sans privilèges d'administrateur?


0

J'ai constaté que la liaison à un port avec un programme Java empêche d'autres applications d'utiliser le port en question. Cependant, si une application utilise déjà le port, un programme Java ne peut pas être utilisé pour cela. Si les privilèges d'administrateur ne sont pas disponibles, comment peut-on bloquer le trafic sur un tel port?

java  tcp 

La réponse va être très spécifique au système sur lequel la JVM s'exécute. Je pense qu’il s’agit plus d’une question StackOverflow que d’une question de sécurité.
Schroeder

@schroeder comment? Je peux voir que ceci est une question de sécurité. Bien que cette question soit jonchée du mot "Java", ce n’est pas vraiment cela.

@iismathwizard, il s'agit d'une interface de programmation avec un système d'exploitation (non spécifié)
schroeder

@schroeder ils ne demandent pas spécifiquement comment faire quelque chose avec la machine virtuelle Java, cependant .. Oui, le système d'exploitation n'est pas spécifié et cela n'aide évidemment pas; Cependant, la question est de savoir comment bloquer le trafic sur un socket.

On dirait vraiment que la question est spécifique à Java ...
schroeder

Réponses:


1

Vous pouvez essayer, par exemple, à l'aide de la netstat -ocommande ou de toute alternative disponible sur votre plate-forme, d'identifier le processus utilisant le port que vous souhaitez bloquer (en supposant que vous ne connaissiez pas déjà le processus incriminé). Si vous avez assez d’accès (ce qui signifie généralement «s’il s’agit d’un programme exécuté dans votre compte utilisateur»), vous pouvez alors arrêter ce processus (ou éventuellement fermer de force le socket à l’aide d’API de débogage, mais cela est délicat et dépend de la plate-forme) et ouvrez le fichier. vous-même, sans autoriser l'accès partagé, empêchant ainsi d'autres processus de l'utiliser.

Si vous souhaitez simplement bloquer tout le trafic à destination ou en provenance d'un port, la meilleure façon de le faire consiste probablement à utiliser votre routeur (en supposant que votre ordinateur ne soit pas directement connecté à Internet). Vous aurez peut-être besoin d'un mot de passe de routeur (différent du mot de passe WiFi), mais vous devriez alors pouvoir bloquer tout le trafic sur un certain port ou le diriger vers un autre ordinateur.

Il convient de noter que vous ne pouvez pas empêcher un administrateur de débloquer le port s'il tente. Ils pourraient tuer votre processus qui maintient le port ouvert. Ils pourraient peut-être même vous empêcher d'ouvrir le port, en utilisant quelque chose comme AppArmor ou le pare-feu avancé Windows. Ils peuvent également simplement créer un processus qui s'exécute au démarrage du système (avant même de vous connecter) et réserver ce port via un processus que les non-administrateurs ne peuvent pas tuer.


0

Les ports 1024 et inférieurs sont considérés comme des ports «privilégiés». Par conséquent, seuls les utilisateurs ayant un accès de niveau racine peuvent exécuter des services sur ces ports. Les ports 1025 et supérieurs ne sont pas considérés comme des ports privilégiés. Tout utilisateur peut donc exécuter des services sur ces derniers. Voir http://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html pour plus d'informations.


Cela ne répond pas réellement à la question.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.