La commande netstat dans macOS est une commande Terminal qui affiche des informations détaillées sur les communications réseau de votre ordinateur. Les communications réseau incluent toutes les façons dont votre Mac communique avec le monde extérieur, sur tous les ports et toutes les applications. À la conquête de netstat peut vous aider à comprendre les connexions de votre ordinateur et pourquoi.
Exécution de Netstat
La commande netstat est disponible sur Mac par défaut. Vous n'avez pas besoin de le télécharger ou de l'installer.
Pour exécuter netstat, ouvrez une fenêtre Terminal à Applications > Services publics > terminal. Type netstat et appuyez sur Entrer pour exécuter la commande.
wakila / Getty Images
Une énorme quantité de texte commencera à défiler sur votre écran. Si vous n'utilisez aucun des indicateurs disponibles (voir ci-dessous), netstat rapportera toutes les connexions réseau actives sur votre Mac. Compte tenu du nombre de fonctions qu'un périphérique réseau moderne exécute, vous pouvez vous attendre à ce que la liste soit longue. Un rapport standard peut contenir plus de 1000 lignes.
Le filtrage de la sortie de netstat est essentiel pour comprendre ce qui se passe sur les ports actifs de votre Mac. Ses indicateurs intégrés vous permettent de définir des options, limitant la portée de la commande.
Drapeaux et options Netstat
Pour voir toutes les options disponibles de netstat, tapez homme netstat à l'invite de commande pour afficher la page de manuel de netstat. Vous pouvez également afficher une version en ligne de la page de manuel de netstat.
«Man» est l'abréviation de «manuel».
Syntaxe
Pour ajouter des indicateurs et des options à netstat, utilisez la syntaxe suivante:
netstat [-AabdgiLlmnqrRsSvWx] [-c file d'attente] [-f famille_adresse] [-I interface] [-p protocole] [-w attente]
Netstat sous macOS ne fonctionne pas de la même manière que netstat sous Windows et Linux. L'utilisation d'indicateurs ou de la syntaxe de ces implémentations de netstat peut ne pas entraîner le comportement attendu.
Si le raccourci ci-dessus semble complètement incompréhensible, apprenez à lire la syntaxe de commande.
Drapeaux utiles
Voici quelques-uns des indicateurs les plus couramment utilisés:
- -a inclut les ports de serveur dans la sortie de netstat, qui ne sont pas inclus dans la sortie par défaut.
- -g affiche les informations associées aux connexions multicast.
- -I interface fournit des données de paquet pour l'interface spécifiée. Toutes les interfaces disponibles peuvent être visualisées avec -i drapeau, mais en0 est généralement l'interface réseau sortante par défaut. (Notez la lettre minuscule.)
- -n supprime l'étiquette des adresses distantes avec des noms. Cela accélère considérablement la sortie de netstat tout en ne sacrifiant que des informations limitées.
- -p protocole répertorie le trafic associé à un protocole réseau spécifique. La liste complète des protocoles est disponible sur / etc / protocols, mais les plus importants sont udp et tcp.
- -r affiche la table de routage, montrant comment les paquets sont acheminés sur le réseau.
- -s affiche les statistiques du réseau pour tous les protocoles, qu'ils soient actifs ou non.
- -v augmente la verbosité, en particulier en ajoutant une colonne indiquant l'ID de processus (PID) associé à chaque port ouvert.
Exemples Netstat
Considérez ces exemples:
netstat -apv TCP
Cette commande renvoie uniquement les connexions TCP sur votre Mac, y compris les ports ouverts et les ports actifs. Il utilise également une sortie détaillée, répertoriant les PID associés à chaque connexion.
netstat -a | grep -i "écoute"
Cette combinaison de netstat et grep révèle les ports ouverts - les ports qui écoutent un message. Le caractère de la pipe | envoie la sortie d'une commande à une autre commande. Ici, la sortie de netstat tuyaux vers grep, vous permettant de rechercher le mot-clé «écouter» et de trouver les résultats.
Accès à Netstat via l'utilitaire réseau
Vous pouvez également accéder à certains netstat fonctionnalité via l'application Network Utility à système > Bibliothèque > Les services de base > Applications.
Cliquez Netstat onglet pour accéder à l'interface graphique.
Les options de Network Utility sont bien plus limitées que celles disponibles via la ligne de commande. Chacune des quatre sélections de bouton radio exécute un netstat prédéfini commande et affiche la sortie.
Les commandes netstat pour chaque bouton radio sont les suivantes:
- Afficher les informations de la table de routage fonctionne netstat -r.
- Afficher des statistiques réseau complètes pour chaque protocole fonctionne netstat -s.
- Afficher les informations de multidiffusion fonctionne netstat -g.
- Afficher l'état de toutes les connexions de socket actuelles fonctionne netstat.
Compléter Netstat avec Lsof
L'implémentation macOS de netstat n'inclut pas une grande partie des fonctionnalités attendues et nécessaires aux utilisateurs. Bien qu'il ait ses utilisations, netstat n'est pas aussi utile sur macOS que sur Windows. Une commande différente, lsof, remplace une grande partie des fonctionnalités manquantes.
Lsof affiche tous les fichiers actuellement ouverts dans toutes les applications. Vous pouvez également l'utiliser pour inspecter les ports ouverts associés à l'application. Courir lsof -i, et vous verrez une liste de toutes les applications communiquant sur Internet. C'est généralement l'objectif lors de l'utilisation de netstat sur des machines Windows; cependant, le seul moyen efficace d'accomplir cette tâche sur macOS n'est pas avec netstat, mais avec lsof.
Drapeaux et options Lsof
L'affichage de chaque fichier ouvert ou connexion Internet est généralement détaillé. C'est pourquoi lsof est livré avec des indicateurs pour restreindre les résultats avec des critères spécifiques. Les plus importants sont ci-dessous.
Pour plus d'informations sur les indicateurs et les explications techniques de chacun, consultez la page de manuel de lsof ou exécutez homme lsof à une invite du terminal.
- -i affiche toutes les connexions réseau ouvertes et le nom du processus qui utilise la connexion. Ajout d'un 4, Comme dans -i4, n'affichera que les connexions IPv4. Ajout d'un 6 au lieu (-i6) n'affichera que les connexions IPv6.
- Le système -i flag peut également être développé pour spécifier plus de détails. -iTCP ou -iUDP renverra uniquement les connexions TCP et UDP. -iTCP: 25 renverra uniquement les connexions TCP sur le port 25. Une plage de ports peut être spécifiée avec un tiret, comme -iTCP: 25-50.
- L'utilisation de [email protected] ne renverra que les connexions à l'adresse IPv4 1.2.3.4. Les adresses IPv6 peuvent être spécifiées de la même manière. Le précurseur @ peut également être utilisé pour spécifier des noms d'hôte de la même manière, mais les adresses IP distantes et les noms d'hôte ne peuvent pas être utilisés simultanément.
- -s force généralement lsof à afficher la taille du fichier. Mais lorsqu'il est associé au -i drapeau, -s fonctionne différemment. Au lieu de cela, il permet à l'utilisateur de spécifier le protocole et l'état de la commande à renvoyer.
- -p restreint lsof à un ID de processus (PID) particulier. Plusieurs PID peuvent être définis en utilisant des communs, tels que -p 123,456,789. Les ID de processus peuvent également être exclus avec un ^, comme dans 123, ^ 456, ce qui exclurait spécifiquement le PID 456.
- -P désactive la conversion des numéros de port en noms de port, ce qui accélère la sortie.
- -n désactive la conversion des numéros de réseau en noms d'hôtes. Lorsqu'il est utilisé avec -P ci-dessus, il peut considérablement accélérer la sortie de lsof.
- -u l'utilisateur ne renvoie que les commandes appartenant à l'utilisateur nommé.
lsof Exemples
Voici quelques façons d'utiliser lsof.
lsof -nP [email protected]: 513
Cette commande d'apparence complexe répertorie toutes les connexions TCP avec le nom d'hôte lsof.itap et le port 513. Il exécute également lsof sans connecter les noms aux adresses IP et aux ports, ce qui accélère considérablement l'exécution de la commande.
lsof -iTCP -sTCP: ÉCOUTER
Cette commande renvoie chaque connexion TCP avec l'état LISTEN, révélant tous les ports TCP ouverts sur votre Mac. Il répertorie également les processus associés à ces ports ouverts. Il s'agit d'une mise à niveau significative par rapport netstat, qui répertorie au maximum les PID.
sudo lsof -i -u ^ $ (whoami)
Cette commande renvoie toutes les connexions n'appartenant pas à l'utilisateur actuellement connecté.
Le caret (^) est pour la négation. Les résultats n'incluront rien qui correspond au texte après le curseur. Vous pouvez obtenir le nom de l'utilisateur actuellement connecté en exécutant whoami à l'intérieur de l' lsof commande, entouré de $ () laisser lsof accéder à sa sortie sous forme de texte. L'exécution avec sudo vous permet de voir les tâches qui ne vous appartiennent pas. L'exécution de cette commande sans sudo renvoie une liste vide.
Autres commandes de mise en réseau
Les autres commandes de mise en réseau du terminal qui pourraient être intéressantes lors de l'examen de votre réseau incluent arp, ping et ipconfig.