Comment vérifier les ports ouverts sur un serveur avec netstat

Comment vérifier les ports ouverts sur un serveur avec netstat

Par défaut, le système d’exploitation Linux gère les 65536 ports. Sur votre plateforme Linux il est préférable de désactiver les services (ou ports) dont vous n’avez pas réellement besoin afin de limiter les attaques. Pour vérifier les ports ouverts sur un serveur et en écoutent sur votre serveur nous allons utiliser la commande netstat.Pour découvrir d’autres astuces d’administration sur Linux, vous pouvez suivre ce lien : Commandes non-documentées pour administrer un serveur Linux.

Vérifier les ports ouverts sur un serveur avec netstat

La commande netstat est un outil qui permet de connaître les connexions TCP actives sur une machine et de visualiser tous les ports TCP et UDP ouverts sur l’ordinateur.

Cette commande permet aussi d’afficher la table de routage de votre serveur mais aussi d’afficher des statistiques sur un certain nombre de protocoles.

Vérifier les ports ouverts sur un serveur avec netstat

  • Liste des ports ouverts avec le nom du protocole
#netstat –listen –tcp

Exemple de sortie :

Liste des ports ouverts avec le nom du protocole avec la commande netstat

Nous voyons bien ici dans la colonne Local Address, les protocoles en écoutent sur le serveur (SSH, MYSQL, HTTP, …)

  • Liste des ports ouverts avec le numéro de port associé
#netstat –listen –tcp –n

Exemple de sortie :

Liste des ports ouverts avec le numéro de port associé avec la commande netstat

Ici dans la colonne Local Address, le nom du protocole est remplacé par son numéro de port. Pratique pour créer des règles sur le firewall.

Comment lire les résultats de la commande netstat

  • Proto : le protocole utilisé. Les classiques TCP et UDP mais également TCP6 et UDP6 pour les variantes IPV6.
  • Recv-Q : Le nombre de Bytes dans la file d’attente de réception. Devrait toujours être à zéro.
  • Send-Q : Le nombre de Bytes dans la file d’attente d’envoi. Devrait toujours être à zéro.
  • Adresse locale : l’adresse et le port utilisé sur la machine locale.
  • Adresse distante : l’adresse et le port utilisé par la machine distante.
  • Etat : LISTEN quand le programme écoute et attend une connexion, ESTABLISHED lorsque la connexion est établie, SYN SNET : le socket essaie de se connecter, SYN RECV : le socket a été fermé, CLOSED : le socket n’est pas utilisé, CLOSE WAIT : l’hôte distant a fermé la connexion, LAST ACK : attente de confirmation de la fermeture de la connexion distante, UNKNOWN: état du socket inconnu.
  • PID/Program name : Le numéro de processus et le nom du programme (si vous utilisez l’option –p vous verrez le programme associé).

Afficher la table de routage

#netstat -r

Afficher la table de routage d'un serveur avec la commande netstat

Quelques explications sur les champs de la commande retour :

  • Destination : adresse vers laquelle sont destinés les paquets.
  • Gateway : passerelle utilisée, * sinon.
  • Flags : G la route utilise une passerelle, U l’interface est active, H on ne peut joindre qu’un simple hôte par cette route).
  • Iface : interface sur laquelle est positionnée la route.

Vous trouverez plus de détail en utilisant la commande suivante sur l’utilisation de netstat :

#man netstat

Signature manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *