Comment puis-je lister mes ports ouverts sur Debian?

59

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 répertorie en fait le numéro de port.

Léonard
la source

Réponses:

86
 netstat -pln

-llistera les ports en écoute, -paffichera également le processus, -naffichera les numéros de port au lieu des noms. Ajouter -tpour afficher uniquement les ports TCP.

Pierre
la source
13
Pour que cela -pfonctionne correctement, vous devez l'exécuter en tant sudo netstat -tplnqu'utilisateur root. Autrement, la colonne de processus ne sera pas particulièrement utile, sauf si vous êtes l'utilisateur dont le processus écoute sur un port donné.
cjc
21

lsof -i -P

Consultez la page de manuel car lsofles options ne manquent pas. -Prépertorie le numéro de port plutôt que le nom emprunté à /etc/servicesExécuter en tant que root. Toutefois, cela vous fournira une liste de toutes les connexions réseau actives et de leur statut (en écoute, établi, etc.).

Jeff Ferland
la source
Cela devrait être la bonne réponse. Netstat n'est pas installé par défaut
José
11

Presque tout le monde veut (TCP et UDP) netstat -tunlp.

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

Zérodeux
la source
Oui, et exécutez-le via sudo.
Martijn Heemels
2
Mon ami m'a appris à retenir cette commande avec un nom de fleur. netstat -tulpenFlag edonne des informations supplémentaires.
Deele
1
Et maintenant, en 2018, ma nouvelle boîte Debian n’a pas netstatmais a lsof. :)
Jason
10

Je suis un grand fan netstat -ntlpet les lsof -ideux ont déjà été mentionnés.

Une nouvelle (plus) commande pour moi est ss .

L'invocation est comme:

ss -l

C'est bien d'avoir des options, en termes de commandes et de drapeaux.

dmourati
la source
1
les options sont particulièrement bonnes puisque le conteneur de docker Mongo (et probablement beaucoup d'autres) avait ss mais pas netstat ou lsof
Foon
J'ai commencé à utiliser cela comme une question d'entrevue. Probablement demandé à 40 personnes différentes. Jusqu'à présent, personne n'a mentionné l'art. Je le demande comme le PO, puis s’ils répondent, je dis: "ok, je retiens X, maintenant comment pouvez-vous le faire." Jusqu'à la fin des idées.
Demourati
6

Tu peux faire:

netstat -an | egrep 'Proto|LISTEN'

ou simplement:

netstat -anl

qui vous donnera toutes les prises d’écoute du système.

Karlson
la source
2
Ce serait la meilleure solution (où "le meilleur" est défini comme "fonctionne sur la plus large gamme de systèmes" (BSD, Linux, AIX, Solaris, je crois que HP-UX))
voretaq7
0

TechRepulic a un article décent que vous pouvez trouver ici . Il contient des commandes similaires à celles énumérées ci-dessus, mais également quelques variantes. Je vous recommande également vivement d’utiliser nmap pour effectuer une analyse des ports de l’ordinateur en question, afin que vous puissiez voir d’un point de vue externe quels ports sont ouverts et à l’écoute.

Eric
la source
Pourriez-vous s'il vous plaît me dire pourquoi cela a été voté? Comme j'ai simplement fourni un lien avec beaucoup des solutions ci-dessus qui ont été approuvées avec une perspective différente de faire un scan externe. Merci.
Eric
8
Je n'ai pas voté vers le bas, mais sur serverfault, comme dans la plupart des échanges de piles, nous nous attendons généralement à ce que vous mettiez la réponse ici, et pas seulement un lien vers un autre endroit. Les liens disparaissent avec le temps, mais nous voulons que le contenu de SF reste utile lorsque les liens meurent.
Zoredache
La seule ligne de code que le lien d'article ci-dessus contient est sudo nmap -T4 -A -v 192.168.1.1/24tout le reste, allez-y, allez-y sans aucun détail ... C'est comme si vous lisiez la couverture arrière d'un livre - beaucoup de mots sans viande.
KingsInnerSoul
0

Les ports d'écoute ne sont pas les mêmes que les ports ouverts de l'extérieur. Vous devez considérer le pare-feu. Si vous essayez un programme similaire nmapà un autre ordinateur, vous pourrez voir les ports ouverts non bloqués par le pare-feu.

Niklas Rosencrantz
la source
0

Je préfère utiliser à la place:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
XsiSec
la source