Je suis sur un ordinateur portable OS X Mountain Lion et j'ai quelques boîtes Vagrant dessus. J'essaie de déterminer quel processus écoute sur le port 8080. Mes variations produisent environ 100 lignes, mais aucune avec un numéro de port spécifique. Je suppose quelque chose comme:
netstat -XXX | grep 8080
Malheureusement, sous OSX, vous êtes bloqué par la variable BSD netstat
qui ne vous montrera pas l'ID de processus associé à un port donné. Ce que vous devez faire à la place est d'utiliser lsof
. La syntaxe à utiliser est la suivante:
lsof -i :8080
Cela affichera une foule d’informations dont la plupart ne vous intéressent pas, mais les champs sont bien étiquetés. Par exemple, consultez cet exemple de sortie.
lsof -i :53237
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
GoogleTal 927 guest 29u IPv4 0x2c3f7f95244855c3 0t0 TCP localhost:53237 (LISTEN)
Cela me dit que le port 53237 est utilisé par l'ID de processus 927. Lors de la lecture du champ COMMAND, n'oubliez pas que cette sortie est tronquée. En réalité, le nom complet du fichier binaire est GoogleTalkPlugin.
C’est ce que j’aime utiliser lors de la recherche du PID d’un port d’écoute. Pour Linux: netstat -tunlp
Des informations complémentaires sont disponibles dans les pages de manuel.
J'étais en train de modifier netstat
sur OS X pour fournir cette fonctionnalité et suis tombé sur le fait que -v
vous donnera le pid associé à un socket.
Pour moi, les deux lignes suivantes fonctionnent le mieux pour indiquer quelles applications ont des ports d’écoute ouverts et un tunnel:
netstat -Watn | grep LISTEN
lsof -Pnl +M -i -cmd | grep LISTEN
Pour connaître les ports spécifiques, utilisez la commande netstat ci-dessous.
netstat -an | grep ':8080'
De l'homme netstat
-p, --program Affiche le PID et le nom du programme auquel chaque socket appartient.
D'habitude je fais juste ça: netstat -antup | grep 8080
La commande ci-dessous montre la connexion:
netstat -antop | grep :8080
Pour visualiser le flux complet en temps réel, vous pouvez utiliser watch
:
watch -d -t -n 1 'lsof -n -i :8080'