89 votes

Comment puis-je lister mes ports ouverts sur Debian ?

Quelle est la commande pour afficher une liste des ports ouverts sur un serveur Debian?

J'ai essayé netstat -a | egrep 'Proto|LISTEN' mais j'aimerais quelque chose de plus spécifique qui affiche en réalité le numéro de port.

116voto

Stone Points 6841
 netstat -pln

-l affichera les ports en écoute, -p affichera également le processus, -n montrera les numéros de port au lieu des noms. Ajoutez -t pour seulement afficher les ports TCP.

18 votes

Pour que l'option -p fonctionne correctement, vous devez exécuter cette commande en tant que superutilisateur, donc sudo netstat -tpln, sinon la colonne des processus ne sera pas particulièrement utile, sauf si vous êtes l'utilisateur dont le processus écoute sur un port donné.

35voto

Tom Points 720

lsof -i -P

Vérifiez la page manuel de lsof car il n'y a pas de pénurie d'options. -P affiche le numéro de port plutôt que le nom pris dans /etc/services. Exécuté en tant que root, cela vous fournira une liste de toutes les connexions réseau actives et leur statut (en écoute, établies, etc).

1 votes

Cela devrait être la réponse correcte. Netstat n'est pas installé par défaut.

0 votes

Pour accélérer cela, ajoutez -n pour éviter la résolution lente des noms de chaque hôte auquel vous êtes connecté.

18voto

dmourati Points 24230

Je suis un grand fan de netstat -ntlp et de lsof -i, tous deux mentionnés précédemment.

Une nouvelle commande pour moi est ss.

L'invocation est comme suit :

ss -l

Il est bon d'avoir des options, en termes de commandes et de drapeaux.

1 votes

Les options sont particulièrement bonnes car le conteneur mongo Docker (et potentiellement beaucoup d'autres) avait ss mais pas netstat ou lsof

0 votes

J'ai commencé à utiliser cela comme question d'entrevue. Probablement posé à 40 personnes différentes. Jusqu'à présent, personne n'a mentionné le ss. Je le demande comme l'OP, puis s'ils répondent, je dis : "ok, j'enlève X, maintenant comment pouvez-vous le faire." Jusqu'à ce qu'ils soient à court d'idées.

13voto

zerodeux Points 656

Ce que presque tout le monde veut (TCP et UDP) est netstat -tunlp.

Je l'utilise tous les jours, peut-être chaque heure. Le hack 'lsof' est plus portable (fonctionne également sur Solaris), mais sur Debian ce n'est pas un paquet essentiel, vous devez l'installer.

0 votes

Oui, et exécutez-le via sudo.

2 votes

Mon ami m'a appris à retenir cette commande avec un nom de fleur netstat -tulpen Le drapeau e donne des informations supplémentaires.

3 votes

Et maintenant, en 2018, ma nouvelle boîte Debian n'a pas netstat mais a lsof. :)

7voto

Karlson Points 241

Vous pouvez faire :

netstat -an | egrep 'Proto|LISTEN'

ou simplement :

netstat -anl

ce qui vous donnera tous les sockets en écoute sur le système.

2 votes

Cela serait la meilleure solution (où "meilleure" est définie comme "fonctionne sur le plus large éventail de systèmes" (BSD, Linux, AIX, Solaris, je crois HP-UX))

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X