topblog Ivoire blogs Envoyer ce blog à un ami

12/04/2010

savoir quel programme à ouvert quel port sous XP et 2003 ?

Nous avons vu au travers de notre astuce sur la commande netstat qu'il est possible de voir les ports ouverts sous Windows. Mais comment savoir quels programmes ont ouvert ses ports ?

Cette astuce n'est valable que sous Windows XP et 2003.

Avec ces deux OS, la commande netstat offre un paramètre supplémentaire qui est "-o". Celui-ci permet d'afficher le PID (process ID) du processus qui est propriétaire de chaque connexion. Si on corrèle ces informations avec le résultat de la commande "tasklist" qui, pour rappel, affiche la liste des processus actifs ainsi que le PID associé, on peut savoir que c'est le processus x qui a ouvert le port y.

Un petit exemple vaut mieux qu'un long discours :


C:>netstat -ano | find "80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2424


Pour info, le | find "80" permet de faire une recherche sur la chaîne de caractère se trouvant entre les "" et de n'afficher que les lignes contenant cette chaîne.

On récupère le numéro du processus qui a ouvert le port 80 (serveur web)

C:>tasklist | find "2424"
svchost.exe 2424 Console 0 1,192 K

On sait maintenant que le processus en question est un service car le nom du processus est svchost.exe

Pour terminer, il est possible de connaître le service en question grâce à la commande tasklist /svc dont voici le résultat :

C:>tasklist /svc | find "2424"
svchost.exe 2424 W3SVC

On sait finalement que c'est le service W3SVC qui est responsable de l'ouverture du port 80. Pratique non !

Les commentaires sont fermés.