Comment fermer un port ouvert dans Ubuntu?

31

J'ai besoin d'une commande pour répertorier tous les ports ouverts sur mon PC et d'une autre pour fermer un port.

Aucune suggestion?

Je dois fermer le port de certaines applications.

nux
la source

Réponses:

34

netstat peut être utilisé pour voir l'état des ports.

sudo netstat -lnp

Pour la liste de tous l ÉCOUTE ports n umbers avec le p rocessus responsable de chacun. Arrêtez ou tuez le processus pour fermer le port. ( kill, pkill...)

Sans interruption de processus, ce n'est pas possible! . Voir Fermeture manuelle d'un port à partir de la ligne de commande . Vous pouvez également rechercher une solution de pare-feu (comme isoler ce port du réseau)

user.dz
la source
j'ai besoin de fermer le port mais sans tuer l'application
nux
Il est possible de fermer un port en tant que port externe.
sergzach
13
sudo ufw allow 22

sudo ufw deny 22
bemonolit
la source
12

pour fermer le port ouvert dans ubuntu, vous pouvez utiliser la commande ci-dessous

sudo kill $(sudo lsof -t -i:3000)

à la place de 3000vous pouvez spécifier votre numéro de port

lsof la commande donnera des informations sur le fichier ouvert par le processus

-t : cet indicateur spécifie que lsof doit produire une sortie laconique avec des identificateurs de processus uniquement et sans en-tête - par exemple, afin que la sortie puisse être canalisée pour tuer (1). Cette option sélectionne l'option -w.

-i : cet indicateur sélectionne la liste des fichiers dont l'adresse Internet correspond à l'adresse spécifiée en i. Si aucune adresse n'est spécifiée, cette option sélectionne la liste de tous les fichiers réseau Internet et x.25 (HP-UX).

uzaif
la source
8

Vous pouvez utiliser iptables pour bloquer le port au niveau du réseau sans avoir à fermer l'application. Le port apparaîtra toujours ouvert, mais sera inaccessible.

alternativement, cela dépend de l'application, certains permettent de désactiver certains ports (pensez pigeonnier et le port pop3 ou imap), et certains ne le peuvent pas. Certaines applications peuvent également être configurées pour écouter uniquement sur l'hôte local ou une adresse spécifique.

Divers
la source
6

Vous pouvez utiliser des outils netstat -nalpet lsof -i:portpour identifier les processus / binaires derrière le port ouvert.

Si vous souhaitez fermer le port, vous devez interrompre le processus ou arrêter le service relatif.Si vous souhaitez exécuter les services uniquement pour votre boîte locale, vous pouvez configurer le service respectif pour écouter sur localhost / 127.0.0.1 pas sur tous les ips disponibles (0.0.0.0).

Nischay
la source
1

Si votre port s'est ouvert en raison de l'exécution d'un service, comme vsftpd pour le service ftp, vous pouvez arrêter puis désactiver le service afin que le fichier exécutable lié au service soit également tué. dans les systèmes de base debian, vous pouvez exécuter des commandes ci-dessous pour détruire un service:

service SERVICENAME stop
systemctl disable SERVICENAME

Bonne chance

Ehsan Ahmadi
la source
Merci. J'ai vérifié le nom du service sudo netstat -lnpet exécuté vos commandes suggérées pour arrêter le port 22 :)
Rishabh Agrahari
1

Pour afficher les listes de tous les ports ouverts:

netstat -lnp

Pour fermer un port ouvert:

fuser -k port_no/tcp

Exemple:

fuser -k 8080/tcp

Dans les deux cas, vous pouvez utiliser sudosi nécessaire.

Atequer Rahman
la source