Existe-t-il une commande en ligne de commande ou tout autre moyen pour rechercher et répertorier les numéros de port occupés et libres sur ma machine Linux?
la source
Existe-t-il une commande en ligne de commande ou tout autre moyen pour rechercher et répertorier les numéros de port occupés et libres sur ma machine Linux?
La commande
netstat -antu
affichera tous les ports tcp et udp utilisés. La sortie ressemblera à ceci:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:59753 0.0.0.0:* LISTEN
Le nombre après les deux-points dans le champ Adresse locale indique le port utilisé. Si l'état est "ECOUTER", cela signifie un port qui utilise pour les connexions entrantes. Si l'adresse IP dans le Local Address
champ est, 0.0.0.0
cela signifie que les connexions entrantes seront acceptées sur toute adresse IP affectée à une interface - cela signifie donc à partir de connexions provenant de l'extérieur de votre machine.
Si cela disait localhost
ou 127.0.0.1
ce serait seulement accepter les connexions de votre machine.
De plus, si vous ajoutez le -p
paramètre et l'exécutez en tant que root, il affichera le processus qui a ouvert le port:
$ sudo netstat -antup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:59753 0.0.0.0:* LISTEN 860/rpc.statd
Tout ce qui n'est pas indiqué comme étant en cours d'utilisation est gratuit, mais les utilisateurs (comptes non privilégiés) ne peuvent ouvrir que des ports supérieurs à 1023.
-antu
peut être écrit comme-tuna
🐟J'ai compilé une petite liste moi-même.
Certains de mes favoris sont:
la source
Un moyen bon et fiable de vérifier les ports ouverts est d'utiliser
ss
(remplacement des ports obsolètesnetstat
), il est utilisable dans un script sans nécessiter de privilèges élevés (c.sudo
-à-d.).Utilisation: option
-l
pour écouter les ports, option-n
pour contourner la résolution DNS et le filtre sur le port sourceNN
:src :NN
(remplacerNN
par le port que vous souhaitez surveiller). Pour plus d'options, voirman ss
Exemples:
Et dans un script, en utilisant grep, nous pouvons tester si la sortie contient le port que nous avons demandé. Exemple avec le port 80 utilisé (voir ci-dessus):
Exemple avec le port 81 non utilisé (voir ci-dessus)
la source
Autrement:
Si le port est libre, vous obtiendrez une erreur. Si le port est utilisé, telnet se connectera.
(trouvé sur http://www.unix.com/unix-for-dummies-questions-and-answers/8456-how-know-whether-particular-port-number-free-not.html )
la source