Page 1 sur 1

[Ex] Netstat

Posté : mar. 30 juin 2009 17:33
par ethneldryt
Voila un petit bout de code pour utiliser netstat.
► Afficher le textecode
par contre quelqu'un peux m'aider a recuperer le nom du processus avec le PID?

Re: [Ex] Netstat

Posté : mar. 30 juin 2009 17:51
par orax
ethneldryt a écrit :par contre quelqu'un peux m'aider a recuperer le nom du processus avec le PID?

Code : Tout sélectionner

#include <Process.au3>
_ProcessGetName ( $iPID )
 

Re: [Ex] Netstat

Posté : jeu. 02 juil. 2009 12:10
par ethneldryt
merci, mais je ne vois pas comment faire pour remplacer le nom du pid par celui du processus:p

Re: [Ex] Netstat

Posté : jeu. 02 juil. 2009 18:30
par Tlem
Heuuu, vous le faites exprès ?
Vous demandez :
ethneldryt a écrit :par contre quelqu'un peux m'aider a recuperer le nom du processus avec le PID?
On vous donne :

Code : Tout sélectionner

#include <Process.au3>
_ProcessGetName ( $iPID )
qui récupère bien le nom du processus par rapport à son PID (ce que vous demandez).

Et vous répondez :
ethneldryt a écrit :merci, mais je ne vois pas comment faire pour remplacer le nom du pid par celui du processus:p
ImageImageImage

Re: [Ex] Netstat

Posté : jeu. 02 juil. 2009 23:24
par ethneldryt
Oui j'ai compris, mais je ne sais pas comment integrer ca dans le script

Re: [Ex] Netstat

Posté : ven. 03 juil. 2009 00:12
par Tlem
Tout dépend de ce que vous voulez faire ...

Re: [Ex] Netstat

Posté : ven. 03 juil. 2009 00:21
par orax
Si j'ai bien compris lorsque netstat retourne :

Code : Tout sélectionner

TCP    XXX:1151          1.100.100.235:http      ESTABLISHED     3524
... vous voulez remplacer le "3524" (le PID du processus) par son nom. (J'ai compris ça tout seul !!... Image)
C'est faisable, sinon il y a aussi netstat -b, et avec ça on pourrait tout récupérer d'un coup (sans être obligé d'utiliser _ProcessGetName).


Edité : avec un netstat -b -o voilà une expression régulière qui devrait pouvoir correspondre :

Code : Tout sélectionner

(?ix)
\s+(\w+)            # protocole
\s+(.+):(\w+)       # hôte_src:port
\s+(.+):(\w+)       # hôte_dst:port
\s+(\w+)            # état
\s+(\d+)            # PID
(?:\r\n\s+\[.+?\])? # nom_processus
mais telle qu'elle est là, c'est pour récupérer les éléments, donc pour l'utiliser avec le stringregexreplace(), il faudra changer l'emplacement des parenthèses.