Gestion des ports

Comment lister les ports ouverts sur Linux?

Comment lister les ports ouverts sur Linux?

En réseau, un port est une fonctionnalité intéressante. C'est un moyen pour le trafic réseau d'identifier l'application ou le service de destination. Chaque processus/service obtient son port unique. Un port sera toujours associé à l'adresse IP de l'hôte avec le protocole.

C'est une de mes métaphores préférées pour décrire ce qu'est un port. Imaginez un navire chargé de cargaison, qui voyagera vers une terre lointaine. Quelles informations sont nécessaires pour atteindre correctement la destination? Par souci de simplicité, disons qu'il a besoin du pays (l'adresse IP) et du Port le navire accostera.

Dans ce guide, découvrez comment répertorier les ports ouverts sur Linux.

Port sous Linux

Les ports agissent comme un point de terminaison de la communication. C'est un nombre de 16 bits (0 à 65535 en décimal). Bien que la gamme soit large, pour une facilité d'utilisation, les ports sont classés en trois catégories. Chaque catégorie est étiquetée comme la plage de valeurs de port :

Sous Linux, il existe plusieurs façons de vérifier les ports ouverts. Par défaut, tout port restera fermé à moins qu'une application ne l'utilise. Si un port est ouvert, alors il doit être affecté à un service/processus.

Liste des ports ouverts

Il est plus facile d'identifier quels ports sont utilisés plutôt que quels ports sont ouverts. C'est pourquoi la section suivante présentera des méthodes pour répertorier tous les ports actuellement utilisés. Sous Linux, plusieurs outils sont disponibles pour la tâche. La plupart d'entre eux sont intégrés à n'importe quelle distribution Linux.

Apprendre quels ports sont actuellement ouverts peut être utile dans divers scénarios. Il est possible de configurer un port dédié pour une certaine application. Un port ouvert peut également être une forte indication d'intrusion dans le réseau.

Les méthodes suivantes sont démontrées sur Ubuntu 20.04.1 LTS.

Lister les protocoles et les ports ouverts depuis /etc/services

Le fichier /etc/services contient des informations sur les services en cours d'exécution. C'est un gros dossier, donc prêt à être submergé.

$ chat /etc/services | moins

Lister les ports ouverts à l'aide de netstat

L'outil netstat est un utilitaire permettant d'afficher les connexions réseau pour TCP, les tables de routage et diverses interfaces réseau. Il offre également des statistiques de protocole réseau. En utilisant netstat, nous pouvons lister tous les ports ouverts du système.

Exécutez la commande netstat suivante :

$ netstat -atu

Voyons rapidement tous les indicateurs que nous avons utilisés dans cette commande.

Voici une autre variante de la commande netstat :

$ netstat -lntu

Il y a deux nouveaux drapeaux utilisés dans la commande. Que signifient-ils?

Pour afficher le PID du processus qui utilise un port, utilisez le drapeau "-p":

$ netstat -lntup

Lister les ports ouverts en utilisant ss

L'outil ss est un utilitaire pour enquêter sur socket. Son utilisation est similaire à netstat.

Pour répertorier les ports ouverts, exécutez la commande ss suivante :

$ ss -lntu

Les drapeaux sont similaires à netstat. Les fonctions qu'ils décrivent sont également assez similaires.

Lister les ports ouverts en utilisant lsof

La commande lsof est de lister les fichiers ouverts. Cependant, il peut également être utilisé pour afficher les ports ouverts.

Exécutez la commande lsof suivante :

$ lsof -i

Pour obtenir les ports ouverts d'un protocole spécifique (TCP, UDP, etc.) puis définissez-le après le drapeau "-i", utilisez:

$ lsof -i

Lister les ports ouverts à l'aide de nmap

L'outil nmap est un outil puissant pour l'exploration du réseau et l'analyse de la sécurité/des ports. Il peut signaler tous les ports ouverts dans le système.

Pour lister les ports TCP ouverts, exécutez la commande nmap suivante. Ici, l'adresse IP est celle de l'ordinateur hôte :

$ sudo nmap -sT -p- localhost

Ici, il y a deux parties de l'argument de commande.

  • -st: Cette section indique à nmap de rechercher les ports TCP.
  • -p- : Cela indique à nmap de rechercher tous les 65535 ports. S'il n'est pas utilisé, alors nmap analysera seulement 1000 ports par défaut.

Si vous devez répertorier les ports UDP ouverts, exécutez la commande nmap suivante :

$ sudo nmap -sU -p- localhost

Pour obtenir à la fois les ports TCP et UDP ouverts, utilisez la commande suivante :

$ sudo nmap -n -PN -sT -sU -p- localhost

Lister les ports ouverts à l'aide de netcat

L'outil netcat est un utilitaire de ligne de commande permettant de lire et d'écrire des données sur des connexions réseau via les protocoles TCP et UDP. Cet outil peut également être utilisé pour lister les ports ouverts. Il peut effectuer des tests sur un port spécifique ou une plage de ports.

La commande netcat suivante analysera le port de 1 à 1000. La commande netcat effectuera l'analyse sur le protocole TCP par défaut :

$ nc -z -v hôte local 1-1000

Il peut également être étendu à toute la liste des ports possibles :

$ nc -z -v hôte local 1-65535

Faisons une ventilation rapide des drapeaux.

  • z: indique à netcat de rechercher uniquement les ports ouverts sans envoyer de données
  • v: indique à netcat de s'exécuter en mode verbeux

Pour obtenir uniquement les ports ouverts de cette liste, filtrez la sortie avec grep pour le terme « réussi ».

$ nc -z -v localhost 0-65535 2>&1 | grep a réussi

Si vous souhaitez effectuer l'analyse sur le protocole UDP, ajoutez le drapeau "-u".

$ nc -z -v -u localhost 0-65535 2>&1 | grep a réussi

Dernières pensées

Comme démontré, il existe de nombreuses façons de rechercher des ports ouverts sur Linux. Je suggère d'essayer toutes les méthodes avant de décider laquelle maîtriser. Si vous utilisez régulièrement un certain outil comme netcat ou nmap, alors maîtriser les méthodes associées sera le plus bénéfique.

Bon calcul!

5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...