Savoir quel programme à ouvert quel port

Voici une astuce bien pratique permettant de retrouver un programme qui peux par exemple vous déranger et donc vous permettre de le killer.

Dans mon cas j'ai souhaité savoir quel programme écoutait sur le port 80 (http) de mon ordinateur.

Sous Windows

Pour ouvrir l'invite de commande cliquez sur démarer puis exécuter (ou directement dans le champ texte) puis entrez "cmd" dans la fenêtre qui s'est ouverte.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-cmd.png
Vous validez, la fenêtre se ferme et une autre s'ouvre à vous !
http://www.maraumax.fr/medias/Billets/tutoriels/invite-commande.png
Dans cette console, vous devez écrire les deux commandes suivantes permettant de récupérer la liste des connexions actives et ensuite de filtrer avec le port que vous recherchez.

# Remplacez ":80" par le port que vous souhaitez rechercher
netstat -ano | find ":80"

Vous pouvez ensuite apercevoir le résultat de votre commande.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-netstat.png
Une petite explication des colonnes :
1 - Le type de connexions (TCP ou UDP)
2 - Adresse / Port locale de connexion
3 - Adresse / Port distante
4 - L'état de la connexion
5 - Le numéro du processus correspondant

Pour savoir si un port est à l'écoute il suffit de regarder dans la quatrième colonne si l'état est "LISTENING". Par exemple dans la capture d'écran les ports 80 et 8002 sont à l'écoute.

Il suffit ensuite de récupérer le numéro du processus et de regarder dans le "tasklist".

# N'oubliez pas de remplacer le numéro de votre processus
tasklist | find "3952"

http://www.maraumax.fr/medias/Billets/tutoriels/invite-tasklist.png
Vous pouvez désormais récupérer le nom du processus ("httpd.exe" correspondant à apache dans l'exemple) dans la première colonne du résultat.

Sous Linux

Sous linux c'est toujours avec la commande netstat seulement c'est beaucoup plus simple car le résultat de cette commande est plus complet.

Pour récupérer la liste des ports et programmes qui écoute il vous suffit simplement d'utiliser cette commande :

# Remplacez :www par votre protocole ou le port souhaité
netstat -lpt | grep LISTEN | grep :www

http://www.maraumax.fr/medias/Billets/tutoriels/netstat-unix.png
Et dans la dernière colonne on remarque que c'est apache2 qui écoute sur le port 80.

En espérant vous avoir été utile !

Billets relatifs

6 Commentaire(s)

  1. Commenté par griggione le Sunday 29 April à 10:41

    Bonjour

    Merci pour ces précision wink

  2. Commenté par lagaffe le Sunday 22 February à 10:54

    je te remercie pour ton article! je travaille avec xampp(débutant) et apache s'nterrompe lors de son lancement, j'ai résolu le problème grâce à cet article qui est plein d'enseignement! la seule remarque, il faut préciser que sous windows, il faut accéder au répertoire c:\windows\system32 pour lancer les commandes indiquées

  3. Commenté par gerald Bara le Thursday 28 January à 15:08

    Merci beaucoup pour cette explication;cela m'a retiré une épingle du pied...façon de parler ;-)

  4. Commenté par micofo le Wednesday 24 February à 16:48

    Merci pour ce tuto, cela m'a sauvé la semaine.
    Merci encore

  5. Commenté par Uiop le Thursday 09 February à 16:47

    Génial merci,

    Pour le point
    2 - Adresse / Port locale de connexion
    un processus utilise t il toujours le meme port locale de connexion?

    Meric,

  6. Réponse

    Non du tout !

    Apache utilise par défaut le port 80 mais peut-être configuré sur un autre port si besoin !

Ajouter un commentaire





Les commentaires sont validés manuellement afin d'éviter le spam.