L'audio de votre PC vers votre chaine Hifi ou ampli home cinéma
Table des matières:
- Qu'est-ce que le port d'écoute
- Vérifiez les ports d'écoute avec
netstat
- Vérifiez les ports d'écoute avec
ss
- Vérifiez les ports d'écoute avec
lsof
- Conclusion
Lors du dépannage de la connectivité réseau ou de problèmes spécifiques à une application, l'une des premières choses à vérifier doit être quels ports sont réellement utilisés sur votre système et quelle application écoute sur un port spécifique.
Cet article explique comment savoir quels services écoutent sur quels ports à l'aide des commandes
netstat
,
ss
et
lsof
. Les instructions s'appliquent à tous les systèmes d'exploitation Linux et Unix comme macOS.
Qu'est-ce que le port d'écoute
Le port réseau est identifié par son numéro, l'adresse IP associée et le type de protocole de communication tel que TCP ou UDP.
Le port d'écoute est un port réseau sur lequel une application ou un processus écoute, agissant comme un point de terminaison de communication.
Chaque port d'écoute peut être ouvert ou fermé (filtré) à l'aide d'un pare-feu. De manière générale, un port ouvert est un port réseau qui accepte les paquets entrants provenant d'emplacements distants.
Vous ne pouvez pas avoir deux services écoutant le même port sur la même adresse IP.
Par exemple, si vous exécutez un serveur Web Apache qui écoute sur les ports
80
et
443
et que vous essayez d'installer Nginx, la version ultérieure ne démarrera pas car les ports HTTP et HTTPS sont déjà utilisés.
Vérifiez les ports d'écoute avec
netstat
netstat
est un outil en ligne de commande qui peut fournir des informations sur les connexions réseau.
Pour répertorier tous les ports TCP ou UDP écoutés, y compris les services utilisant les ports et l'état du socket, utilisez la commande suivante:
sudo netstat -tunlp
Les options utilisées dans cette commande ont la signification suivante:
-
-t
- Affiche les ports TCP.-u
- Affiche les ports UDP.-n
- Affiche les adresses numériques au lieu de résoudre les hôtes.-l
- Affiche uniquement les ports d'écoute.-p
- Affiche le PID et le nom du processus de l'auditeur. Ces informations ne s'affichent que si vous exécutez la commande en tant qu'utilisateur root ou sudo.
La sortie ressemblera à ceci:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
Les colonnes importantes de notre cas sont:
-
Proto
- Le protocole utilisé par le socket.Local Address
- L'adresse IP et le numéro de port sur lesquels le processus écoute.PID/Program name
- Le PID et le nom du processus.
sudo netstat -tnlp | grep:22
La sortie montre que sur cette machine le port 22 est utilisé par le serveur SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Si la sortie est vide, cela signifie que rien n'écoute sur le port.
Vous pouvez également filtrer la liste en fonction de critères, par exemple, PID, protocole, état, etc.
netstat
est obsolète et remplacé par
ss
et
ip
, mais il s'agit toujours des commandes les plus utilisées pour vérifier les connexions réseau.
Vérifiez les ports d'écoute avec
ss
ss
est le nouveau
netstat
. Il manque certaines des fonctionnalités de
netstat
mais expose plus d'états TCP et il est légèrement plus rapide. Les options de commande sont généralement les mêmes, donc la transition de
netstat
à
ss
n'est pas difficile.
Pour obtenir une liste de tous les ports d'écoute avec
ss
vous devez taper:
sudo ss -tunlp
La sortie est presque la même que celle rapportée par
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Vérifiez les ports d'écoute avec
lsof
lsof
est un puissant utilitaire de ligne de commande qui fournit des informations sur les fichiers ouverts par les processus.
Sous Linux, tout est un fichier. Vous pouvez considérer un socket comme un fichier qui écrit sur le réseau.
Pour obtenir une liste de tous les ports TCP en écoute avec le type
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
Les options utilisées sont les suivantes:
-
-n
- Ne convertit pas les numéros de port en noms de port.-p
- Ne résout pas les noms d'hôte, affiche les adresses numériques.-iTCP -sTCP:LISTEN
- Affiche uniquement les fichiers réseau avec l'état TCP LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
La plupart des noms de colonnes de sortie sont explicites:
-
COMMAND
,PID
,USER
- Le nom, le pid et l'utilisateur exécutant le programme associé au port.NAME
- Le numéro de port.
Pour trouver quel processus écoute sur un port particulier, par exemple, le port
3306
vous devez utiliser:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
La sortie montre que le port
3306
est utilisé par le serveur MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
Pour plus d'informations, visitez la page de manuel lsof et lisez toutes les autres options puissantes de cet outil.
Conclusion
Nous vous avons montré plusieurs commandes que vous pouvez utiliser pour vérifier quels ports sont utilisés sur votre système et comment trouver quel processus écoute sur un port spécifique.
TerminalVérifier les fichiers pour les modifications avec le fichier Marxio Checksum Verifier
Validez une grande variété de sommes de contrôle avec cet utilitaire léger. chaîne de caractères qui identifie de manière unique un fichier, une empreinte digitale. Changez même quelques octets d'un fichier - par exemple, en l'infectant avec un virus ou en remplaçant une ancienne version par une nouvelle - et la somme de contrôle change. Marxio File Checksum Verifier (gratuit / donationware) est un petit utilitaire autonome qui va générer une somme de contrôle pour un fichier donné, puis le comp
Le service Internet en Chine a été perturbé un troisième jour mercredi après un séisme endommagé par des câbles sous-marins. Le service Internet en Chine a été perturbé mercredi après un tremblement de terre endommagé par les câbles sous-marins utilisés par les opérateurs de télécommunications du pays.
L'accès aux sites Web basés aux Etats-Unis et dans certains pays asiatiques s'est arrêté lundi après-midi utilisateurs. La panne de service partielle a touché China Unicom et China Telecom, les deux principaux opérateurs de téléphonie fixe du pays.
Comment vérifier (scanner) les ports ouverts sous Linux
Cet article décrit plusieurs approches pour savoir quels ports sont ouverts vers l'extérieur sur votre système Linux.