TUTOS.EU

Voir les ports ouverts sur une machine Windows et déterminer par quel logiciel

Trouver les ports réseaux utilisés par les différents programmes d'une machine Windows


En powershell, cette commande affiche la liste des ports ouverts et par quel processus

get-nettcpconnection | select local*,remote*,state,@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess).ProcessName}} | sort-object -property LocalPort | format-table
Lien vers le fichier : cliquez ici Copier le code

La même chose mais en plus on filtre sur tous les ports locaux qui contiennent 8

get-nettcpconnection | select local*,remote*,state,@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess).ProcessName}} | Where-Object {$_.LocalPort -match "8"} | sort-object -property LocalPort | format-table
Lien vers le fichier : cliquez ici Copier le code

CurrPorts est un logiciel de http://www.nirsoft.net/
Il fait tout d'un coup. Il va vous dire quel port local ou distant et utilisé, par quel process, avec le chemin du process etc

On le trouve sur
http://www.nirsoft.net/utils/cports.html


De base avec cette commande on peut voir le processus qui utilise le port de communication :

netstat -ab
Lien vers le fichier : cliquez ici Copier le code

Exemple de résultat où l'on voit que Tomcat8.exe écoute sur le port 8080, 10000 et 34568

TCP    0.0.0.0:8080           NomServeur:0            LISTENING
[Tomcat8.exe]
TCP    0.0.0.0:10000          NomServeur:0            LISTENING
[beremote.exe]
TCP    0.0.0.0:34568          NomServeur:0            LISTENING
Lien vers le fichier : cliquez ici Copier le code

Notez que souvent un logiciel est lancé par svchost.

Exemple :

En effet avec le Task Manager on voit qu'il y en a une ribambelle et de base on ne sait pas ce qu'il y a derrière.

Pour avoir plus d'informations, faites un clic droit sur un endroit vide de la barre qui contient les noms de colonnes.
Cliquez ensuite sur Select columns

Cochez 'Ligne de commande' si votre Os est en Français, ou 'Command Line' s'il est en Anglais, puis cliquez sur Ok

Vous saurez alors quel est le logiciel exécuté pour une instance de svchost donnée. Par la suite, via le PID du svchost vous permettra de savoir quel est le port associé

Sachant qu'avec la ligne de commande exécutée, en regardant les propriétés des services, on est capable de retrouver lequel est concerné :


On peut aussi utiliser le logiciel TCPView.
Téléchargez le et lancez le

Une liste de programmes s'affiche.
Le nom des processus est suivi de : et d'un numéro. Ce numéro correspond non pas au port réseau utilisé par le processus mais à son PID.
L'exemple ci-dessous montre que le processus XTE.exe a le PID 3252

Le port local utilisé par le processus est lui indiqué dans la colonne 'Local address'.
Dans l'exemple ci-dessous on voit que XTE.exe utilise le port local 2598.

Maintenant imaginez que le processus a été lancé par l'intermédiaire de svchost.
Nous sommes ici sur un Citrix VDA 7.6 et on voit que le port local 2598 est utilisé par svchost
Ici svchost utilise le PID 1676

Pour savoir ce qui est derrière ce PID lancez procexp

Cherchez le PID correspondant, soit ici le 1676

Double-cliquez sur le process puis cliquez sur l'onglet Services.
Relevez le nom du service qui est derrière, soit ici TermService (Remote Desktop Services)

Pour vérifier que c'était bien le service Remote Desktop Services qui était derrière le port 2594, je l'ai arrêté

Et effectivement le port 2598 c'est arrêté et cela a été signalé par TCPView

Pages Web

Site WebDescription
TCPView pour Windows v2.4Outil TCPView de Sysinternals

Téléchargement(s)

NomSite Web d origineDescription
Sysinternalssuite build 2... http://technet.microsoft.com/f... Ensemble d'outils de Mark Russinovich et Bryce Cogswell. Cet ensemble d'outils, Sysinternals, a été acquis par Microsoft en juillet 2006.
CurrPorts 1.65.zip http://www.nirsoft.net/utils/c... Pour voir quel process utilise tel port local ou distant etc


Article(s) suivant(s)

2