Hostwinds Blog

Résultats de recherche pour:


5 façons de vérifier les ports ouverts sur Linux L'image sélectionnée

5 façons de vérifier les ports ouverts sur Linux

par: Hostwinds Team  /  janvier 14, 2025


Les ports sont comme des portes qui permettent aux applications et programmes de votre système Linux d'envoyer et de recevoir des données.Si vous souhaitez voir quels ports sont utilisés, lesquels sont ouverts ou déterminez simplement ce qui se passe avec votre réseau, vous êtes au bon endroit.

Dans ce guide, nous allons parcourir plusieurs façons de vérifier les ports dans Linux en utilisant des commandes simples.À la fin, vous vous sentirez plus à l'aise de travailler avec des ports et de savoir ce qui se passe sur votre système.

Que sont les ports?

Avant de sauter dans les commandes, prenons un moment pour comprendre ce que sont les ports:

  • Les ports sont des nombres qui identifient des programmes ou des applications spécifiques en cours d'exécution sur votre ordinateur.Par exemple:
    • Ports de serveur Web sont généralement utilisés port 80 (Http) ou Port 443 (Https).
    • Les connexions à distance via SSH utilisent généralement port 22.
  • Chaque port a un nombre entre 0 et 65535, qui se répartissent en trois groupes principaux:
    • 0–1023: Réservé pour les protocoles communs comme HTTP et FTP.
    • 1024–49151: Pour les applications que vous installez.
    • 49152–65535: Les ports temporaires utilisés lorsque les applications se connectent à un service.

Avec cela à l'écart, explorons comment vérifier ce qui se passe avec vos ports.

Comment vérifier les ports dans Linux

Linux propose un certain nombre d'outils pour vous aider à vérifier les ports ouverts ou à écouter.Ci-dessous, nous allons parcourir cinq méthodes courantes et expliquer ce que chacun fait.

1. Utilisation de netstat

La commande netstat vous donne une vue détaillée des connexions réseau et de l'utilisation du port.

Ouvrez un terminal et type:

netstat -tuln

Voici ce que signifie chaque option:

  • -T: Afficher les ports TCP (protocole de contrôle de transmission).
  • -U: Afficher les ports UDP (User Datagram Protocol).
  • -l: Afficher uniquement les ports qui écoutent activement.
  • -n: Sauter les noms de programme de traduction (par exemple, "ssh") en numéros de port, ce qui le rend plus rapide.

Ce que vous verrez:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

Voici comment lire ceci:

  • Proto: Montre si c'est TCP ou UDP.
  • Adresse locale: IP de votre machine et le port utilisé.
  • Adresse étrangère: L'IP et le port de l'autre machine (ou * s'il est ouvert à tous).
  • État: Pour TCP, écouter signifie qu'il attend des connexions.

Remarque rapide: Netstat fait partie du package Net-Tools, qui peut ne pas être préinstallé sur les versions Linux plus récentes.L'installez en utilisant:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. Utilisation de SS

ss est une alternative plus récente et plus rapide à Netstat.Il donne des informations similaires mais fonctionne mieux sur les systèmes modernes.

Exécutez la commande suivante:

ss -tuln

Les options sont les mêmes que Netstat, vous devriez donc pouvoir sauter directement.

Ce que vous verrez:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

Cette sortie est similaire à netstat, mais ss a tendance à être plus rapide, surtout si vous avez affaire à beaucoup de connexions.

3. Utilisation de LSOF

lsof (Liste des fichiers ouverts) est un outil pratique pour voir quels fichiers ou connexions réseau sont utilisés par les processus.

Pour voir quels ports sont ouverts et ce qui les utilise, exécutez:

sudo lsof -i -P -n
  • -je: Filtres pour les fichiers liés au réseau.
  • -P: Affiche les numéros de port bruts au lieu des noms de service.
  • -n: Saute la traduction des adresses IP en noms d'hôte pour la vitesse.

Ce que vous verrez:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • COMMANDE: Le programme utilisant le port.
  • Piquer: L'ID de processus.
  • NOM: Le port et le protocole (par exemple, TCP sur le port 22).

Pourquoi c'est utile:

Si vous dépannez et devez savoir quel processus utilise un port spécifique, lsof est votre outil de référence.

4. Utilisation de NMAP

nmap (Network Mapper) est idéal pour numériser les réseaux et vérifier les ports ouverts.

Pour scanner tous les ports, exécutez:

sudo nmap -sT -p- localhost
  • -St: Effectue une analyse de connexion TCP.
  • -p-: Scanne les 65 535 ports.

Ce que vous verrez:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • PORT: Le numéro de port et le protocole (TCP ou UDP).
  • ÉTAT: Vous indique si le port est ouvert, fermé ou filtré (bloqué par un pare-feu).
  • UN SERVICE: Le nom commun du service à l'aide du port.

Pourquoi NMAP est utile:

nmap est génial si vous voulez une vue complète de tous les ports ouverts de votre système ou si vous devez scanner une autre machine.

5. Utilisation de NC (Netcat)

Netcat est un outil simple mais puissant pour vérifier si un port spécifique est ouvert.

Pour vérifier si le port 22 est ouvert, tapez:

nc -zv localhost 22
  • -z: Il suffit de scanner des ports ouverts sans envoyer de données.
  • -v: Afficher la sortie détaillée.

Ce que vous verrez:

Connection to localhost 22 port [tcp/ssh] succeeded!

Pourquoi c'est utile:

Si vous avez juste besoin de vérifier rapidement si un port spécifique est ouvert, Caroline du Nord fait le travail sans trop de bruit.

Donner un sens aux résultats

Lorsque vous vérifiez les ports, voici ce que les résultats signifient habituellement:

  • Ports d'écoute / ouverts: Ces ports sont prêts à accepter les connexions.Par exemple, un serveur Web écoutera sur le port 80 ou 443.
  • Ports fermés: Ces ports ne sont pas utilisés, ils n'accepteront donc pas les connexions.
  • Ports filtrés: Ces ports sont bloqués par un pare-feu ou une règle de sécurité, ils semblent donc invisibles.

Scénarios courants

Lorsque vous vérifiez les ports, vous pouvez rencontrer les scénarios suivants:

  • Vous voyez un port ouvert, vous ne vous attendiez pas: Cela pourrait signifier qu'un programme est en cours d'exécution dont vous n'avez pas besoin ou ne reconnaissez pas.C'est une bonne idée d'enquêter davantage.
  • Un port dont vous avez besoin est fermé: Le programme pourrait ne pas être en cours d'exécution, ou un pare-feu pourrait le bloquer.

Sécuriser votre système

La vérification des ports n'est que la première étape.Voici quelques façons de ranger les choses:

Arrêtez des programmes inutiles:
Si un programme fonctionne sur un port dont vous n'avez pas besoin, éteignez-le:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

Utilisez un pare-feu:
Limitez l'accès aux ports à l'aide d'un outil comme UFW (pare-feu simple):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

Surveiller régulièrement les ports:
Prenez l'habitude de vérifier les ports ouverts de temps en temps, surtout si vous exécutez un serveur.

Emballer

La vérification des ports dans Linux ne doit pas être compliquée.Que vous utilisiez Netstat, SS, LSOF, NMAP ou NC, chaque outil vous donne une vue légèrement différente de ce qui se passe.Choisissez celui qui fonctionne le mieux pour vos besoins et n'ayez pas peur d'explorer.Plus vous vous entraînez, plus il est facile!

Écrit par Hostwinds Team  /  janvier 14, 2025