la source
Une alternative est l'utilisation de l' lsof
utilitaire; en particulier, lsof -i 4tcp
listera tous les processus avec une sorte de socket réseau TCP IPv4 ouvert. La page de manuel de lsof
vous fournira des informations détaillées sur la façon d'utiliser l'utilitaire et d'interpréter la sortie.
Si vous êtes intéressé par un port spécifique, vous pouvez utiliser cet exemple:
lsof -i 4tcp:8080 -sTCP:LISTEN
Si vous souhaitez uniquement obtenir l'ID de processus, vous pouvez exécuter ceci:
lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
J'utilise la commande ci-dessous lorsque je veux voir tout ce qui se trouve sur un port spécifique pour TCP ou UDP. L' -n
option désactive la tentative de résolution des adresses IP en noms de domaine et la -P
désactivation de la recherche du nom d'un port particulier. En outre, l'exécution de as root
vous montrera plus de processus que l'exécution en tant qu'utilisateur normal.
sudo lsof -iTCP:53 -iUDP:53 -n -P
L'exemple de code suivant répertorie tous les serveurs TCP en cours d'exécution sur votre ordinateur OSX local:
netstat -a -Ptcp | egrep 'tcp4.*LISTEN'
tcp4 0 0 127.0.0.1.2022 *.* LISTEN 0 0
tcp4 0 0 *.3141 *.* LISTEN 0 0
LISTEN
affiche uniquement les sockets écoutant les connexions. Autrement dit, les serveurs.
La première ligne montre un serveur lié à localhost
, alias 127.0.0.1
, port 2022
. Il répondra aux demandes locales, mais pas aux demandes basées sur Internet.
La deuxième ligne est un serveur lié à toutes les adresses, c'est *
-à- dire le port 3141
. Il va répondre à des requêtes Internet.
Pour répertorier les ports utilisés par les clients et les serveurs, utilisez les éléments suivants:
netstat -an -Ptcp | grep tcp4
netstat
sur les hôtes basés sur BSD ne répertorie aucune information de processus ... c'était la question.Cela devrait être possible dans une fenêtre de terminal à l'aide de la commande Netstat .
Et si vous aimez plus la GUI:
la source